|
|
@ -41,16 +41,13 @@ static void client_channel_factory_unref( |
|
|
|
|
|
|
|
|
|
|
|
static grpc_subchannel* client_channel_factory_create_subchannel( |
|
|
|
static grpc_subchannel* client_channel_factory_create_subchannel( |
|
|
|
grpc_client_channel_factory* cc_factory, const grpc_subchannel_args* args) { |
|
|
|
grpc_client_channel_factory* cc_factory, const grpc_subchannel_args* args) { |
|
|
|
grpc_subchannel_args* final_sc_args = |
|
|
|
grpc_subchannel_args final_sc_args; |
|
|
|
static_cast<grpc_subchannel_args*>(gpr_malloc(sizeof(*final_sc_args))); |
|
|
|
memcpy(&final_sc_args, args, sizeof(*args)); |
|
|
|
memcpy(final_sc_args, args, sizeof(*args)); |
|
|
|
final_sc_args.args = grpc_default_authority_add_if_not_present(args->args); |
|
|
|
final_sc_args->args = grpc_default_authority_add_if_not_present(args->args); |
|
|
|
|
|
|
|
grpc_connector* connector = grpc_chttp2_connector_create(); |
|
|
|
grpc_connector* connector = grpc_chttp2_connector_create(); |
|
|
|
grpc_subchannel* s = grpc_subchannel_create(connector, final_sc_args); |
|
|
|
grpc_subchannel* s = grpc_subchannel_create(connector, &final_sc_args); |
|
|
|
grpc_connector_unref(connector); |
|
|
|
grpc_connector_unref(connector); |
|
|
|
grpc_channel_args_destroy( |
|
|
|
grpc_channel_args_destroy(const_cast<grpc_channel_args*>(final_sc_args.args)); |
|
|
|
const_cast<grpc_channel_args*>(final_sc_args->args)); |
|
|
|
|
|
|
|
gpr_free(final_sc_args); |
|
|
|
|
|
|
|
return s; |
|
|
|
return s; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|