aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/client_config
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/client_config')
-rw-r--r--src/core/client_config/connector.c5
-rw-r--r--src/core/client_config/resolvers/dns_resolver.c2
-rw-r--r--src/core/client_config/resolvers/sockaddr_resolver.c2
-rw-r--r--src/core/client_config/subchannel.c3
-rw-r--r--src/core/client_config/subchannel_factory.c5
-rw-r--r--src/core/client_config/subchannel_factory_decorators/merge_channel_args.c5
6 files changed, 12 insertions, 10 deletions
diff --git a/src/core/client_config/connector.c b/src/core/client_config/connector.c
index 31f0b84efe..a0f346faeb 100644
--- a/src/core/client_config/connector.c
+++ b/src/core/client_config/connector.c
@@ -37,8 +37,9 @@ void grpc_connector_ref(grpc_connector *connector) {
connector->vtable->ref(connector);
}
-void grpc_connector_unref(grpc_connector *connector) {
- connector->vtable->unref(connector);
+void grpc_connector_unref(grpc_connector *connector,
+ grpc_call_list *call_list) {
+ connector->vtable->unref(connector, call_list);
}
void grpc_connector_connect(grpc_connector *connector,
diff --git a/src/core/client_config/resolvers/dns_resolver.c b/src/core/client_config/resolvers/dns_resolver.c
index 9e9b3d4917..5750db4b43 100644
--- a/src/core/client_config/resolvers/dns_resolver.c
+++ b/src/core/client_config/resolvers/dns_resolver.c
@@ -145,7 +145,7 @@ static void dns_on_resolved(void *arg, grpc_resolved_addresses *addresses,
args.addr = (struct sockaddr *)(addresses->addrs[i].addr);
args.addr_len = (size_t)addresses->addrs[i].len;
subchannels[i] = grpc_subchannel_factory_create_subchannel(
- r->subchannel_factory, &args);
+ r->subchannel_factory, &args, call_list);
}
memset(&lb_policy_args, 0, sizeof(lb_policy_args));
lb_policy_args.subchannels = subchannels;
diff --git a/src/core/client_config/resolvers/sockaddr_resolver.c b/src/core/client_config/resolvers/sockaddr_resolver.c
index 15eb60b93a..38293b0f13 100644
--- a/src/core/client_config/resolvers/sockaddr_resolver.c
+++ b/src/core/client_config/resolvers/sockaddr_resolver.c
@@ -139,7 +139,7 @@ static void sockaddr_maybe_finish_next_locked(sockaddr_resolver *r,
args.addr = (struct sockaddr *)&r->addrs[i];
args.addr_len = r->addrs_len[i];
subchannels[i] = grpc_subchannel_factory_create_subchannel(
- r->subchannel_factory, &args);
+ r->subchannel_factory, &args, call_list);
}
memset(&lb_policy_args, 0, sizeof(lb_policy_args));
lb_policy_args.subchannels = subchannels;
diff --git a/src/core/client_config/subchannel.c b/src/core/client_config/subchannel.c
index 937b3cd71c..bae705f9c3 100644
--- a/src/core/client_config/subchannel.c
+++ b/src/core/client_config/subchannel.c
@@ -263,7 +263,7 @@ static void subchannel_destroy(grpc_subchannel *c, grpc_call_list *call_list) {
gpr_free(c->addr);
grpc_mdctx_unref(c->mdctx);
grpc_connectivity_state_destroy(&c->state_tracker);
- grpc_connector_unref(c->connector);
+ grpc_connector_unref(c->connector, call_list);
gpr_free(c);
}
@@ -320,7 +320,6 @@ static void continue_connect(grpc_subchannel *c, grpc_call_list *call_list) {
args.addr_len = c->addr_len;
args.deadline = compute_connect_deadline(c);
args.channel_args = c->args;
- args.metadata_context = c->mdctx;
grpc_connector_connect(c->connector, &args, &c->connecting_result,
&c->connected, call_list);
diff --git a/src/core/client_config/subchannel_factory.c b/src/core/client_config/subchannel_factory.c
index f71386594c..2a569aba13 100644
--- a/src/core/client_config/subchannel_factory.c
+++ b/src/core/client_config/subchannel_factory.c
@@ -41,6 +41,7 @@ void grpc_subchannel_factory_unref(grpc_subchannel_factory *factory) {
}
grpc_subchannel *grpc_subchannel_factory_create_subchannel(
- grpc_subchannel_factory *factory, grpc_subchannel_args *args) {
- return factory->vtable->create_subchannel(factory, args);
+ grpc_subchannel_factory *factory, grpc_subchannel_args *args,
+ grpc_call_list *call_list) {
+ return factory->vtable->create_subchannel(factory, args, call_list);
}
diff --git a/src/core/client_config/subchannel_factory_decorators/merge_channel_args.c b/src/core/client_config/subchannel_factory_decorators/merge_channel_args.c
index c1b5507fde..b2c9797b1a 100644
--- a/src/core/client_config/subchannel_factory_decorators/merge_channel_args.c
+++ b/src/core/client_config/subchannel_factory_decorators/merge_channel_args.c
@@ -57,13 +57,14 @@ static void merge_args_factory_unref(grpc_subchannel_factory *scf) {
}
static grpc_subchannel *merge_args_factory_create_subchannel(
- grpc_subchannel_factory *scf, grpc_subchannel_args *args) {
+ grpc_subchannel_factory *scf, grpc_subchannel_args *args,
+ grpc_call_list *call_list) {
merge_args_factory *f = (merge_args_factory *)scf;
grpc_channel_args *final_args =
grpc_channel_args_merge(args->args, f->merge_args);
grpc_subchannel *s;
args->args = final_args;
- s = grpc_subchannel_factory_create_subchannel(f->wrapped, args);
+ s = grpc_subchannel_factory_create_subchannel(f->wrapped, args, call_list);
grpc_channel_args_destroy(final_args);
return s;
}