Fix propagation of channel args for insecure channels.
This commit is contained in:
parent
5f40e5ddf5
commit
e3a21005bf
|
|
@ -44,14 +44,14 @@ void grpc_client_channel_factory_unref(grpc_exec_ctx* exec_ctx,
|
|||
|
||||
grpc_subchannel* grpc_client_channel_factory_create_subchannel(
|
||||
grpc_exec_ctx* exec_ctx, grpc_client_channel_factory* factory,
|
||||
grpc_subchannel_args* args) {
|
||||
const grpc_subchannel_args* args) {
|
||||
return factory->vtable->create_subchannel(exec_ctx, factory, args);
|
||||
}
|
||||
|
||||
grpc_channel* grpc_client_channel_factory_create_channel(
|
||||
grpc_exec_ctx* exec_ctx, grpc_client_channel_factory* factory,
|
||||
const char* target, grpc_client_channel_type type,
|
||||
grpc_channel_args* args) {
|
||||
const grpc_channel_args* args) {
|
||||
return factory->vtable->create_client_channel(exec_ctx, factory, target, type,
|
||||
args);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,12 +60,12 @@ struct grpc_client_channel_factory_vtable {
|
|||
void (*unref)(grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *factory);
|
||||
grpc_subchannel *(*create_subchannel)(grpc_exec_ctx *exec_ctx,
|
||||
grpc_client_channel_factory *factory,
|
||||
grpc_subchannel_args *args);
|
||||
const grpc_subchannel_args *args);
|
||||
grpc_channel *(*create_client_channel)(grpc_exec_ctx *exec_ctx,
|
||||
grpc_client_channel_factory *factory,
|
||||
const char *target,
|
||||
grpc_client_channel_type type,
|
||||
grpc_channel_args *args);
|
||||
const grpc_channel_args *args);
|
||||
};
|
||||
|
||||
void grpc_client_channel_factory_ref(grpc_client_channel_factory *factory);
|
||||
|
|
@ -75,11 +75,12 @@ void grpc_client_channel_factory_unref(grpc_exec_ctx *exec_ctx,
|
|||
/** Create a new grpc_subchannel */
|
||||
grpc_subchannel *grpc_client_channel_factory_create_subchannel(
|
||||
grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *factory,
|
||||
grpc_subchannel_args *args);
|
||||
const grpc_subchannel_args *args);
|
||||
|
||||
/** Create a new grpc_channel */
|
||||
grpc_channel *grpc_client_channel_factory_create_channel(
|
||||
grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *factory,
|
||||
const char *target, grpc_client_channel_type type, grpc_channel_args *args);
|
||||
const char *target, grpc_client_channel_type type,
|
||||
const grpc_channel_args *args);
|
||||
|
||||
#endif /* GRPC_CORE_EXT_CLIENT_CHANNEL_CLIENT_CHANNEL_FACTORY_H */
|
||||
|
|
|
|||
|
|
@ -298,7 +298,7 @@ void grpc_subchannel_weak_unref(grpc_exec_ctx *exec_ctx,
|
|||
|
||||
grpc_subchannel *grpc_subchannel_create(grpc_exec_ctx *exec_ctx,
|
||||
grpc_connector *connector,
|
||||
grpc_subchannel_args *args) {
|
||||
const grpc_subchannel_args *args) {
|
||||
grpc_subchannel_key *key = grpc_subchannel_key_create(connector, args);
|
||||
grpc_subchannel *c = grpc_subchannel_index_find(exec_ctx, key);
|
||||
if (c) {
|
||||
|
|
|
|||
|
|
@ -174,6 +174,6 @@ struct grpc_subchannel_args {
|
|||
/** create a subchannel given a connector */
|
||||
grpc_subchannel *grpc_subchannel_create(grpc_exec_ctx *exec_ctx,
|
||||
grpc_connector *connector,
|
||||
grpc_subchannel_args *args);
|
||||
const grpc_subchannel_args *args);
|
||||
|
||||
#endif /* GRPC_CORE_EXT_CLIENT_CHANNEL_SUBCHANNEL_H */
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ static grpc_exec_ctx *current_ctx() {
|
|||
}
|
||||
|
||||
static grpc_subchannel_key *create_key(
|
||||
grpc_connector *connector, grpc_subchannel_args *args,
|
||||
grpc_connector *connector, const grpc_subchannel_args *args,
|
||||
grpc_channel_args *(*copy_channel_args)(const grpc_channel_args *args)) {
|
||||
grpc_subchannel_key *k = gpr_malloc(sizeof(*k));
|
||||
k->connector = grpc_connector_ref(connector);
|
||||
|
|
@ -96,8 +96,8 @@ static grpc_subchannel_key *create_key(
|
|||
return k;
|
||||
}
|
||||
|
||||
grpc_subchannel_key *grpc_subchannel_key_create(grpc_connector *connector,
|
||||
grpc_subchannel_args *args) {
|
||||
grpc_subchannel_key *grpc_subchannel_key_create(
|
||||
grpc_connector *connector, const grpc_subchannel_args *args) {
|
||||
return create_key(connector, args, grpc_channel_args_normalize);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,8 +43,8 @@
|
|||
typedef struct grpc_subchannel_key grpc_subchannel_key;
|
||||
|
||||
/** Create a key that can be used to uniquely identify a subchannel */
|
||||
grpc_subchannel_key *grpc_subchannel_key_create(grpc_connector *con,
|
||||
grpc_subchannel_args *args);
|
||||
grpc_subchannel_key *grpc_subchannel_key_create(
|
||||
grpc_connector *con, const grpc_subchannel_args *args);
|
||||
|
||||
/** Destroy a subchannel key */
|
||||
void grpc_subchannel_key_destroy(grpc_exec_ctx *exec_ctx,
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@ static void client_channel_factory_unref(
|
|||
|
||||
static grpc_subchannel *client_channel_factory_create_subchannel(
|
||||
grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *cc_factory,
|
||||
grpc_subchannel_args *args) {
|
||||
const grpc_subchannel_args *args) {
|
||||
connector *c = gpr_malloc(sizeof(*c));
|
||||
memset(c, 0, sizeof(*c));
|
||||
c->base.vtable = &connector_vtable;
|
||||
|
|
@ -194,7 +194,7 @@ static grpc_subchannel *client_channel_factory_create_subchannel(
|
|||
static grpc_channel *client_channel_factory_create_channel(
|
||||
grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *cc_factory,
|
||||
const char *target, grpc_client_channel_type type,
|
||||
grpc_channel_args *args) {
|
||||
const grpc_channel_args *args) {
|
||||
grpc_channel *channel =
|
||||
grpc_channel_create(exec_ctx, target, args, GRPC_CLIENT_CHANNEL, NULL);
|
||||
grpc_resolver *resolver = grpc_resolver_create(target, args);
|
||||
|
|
@ -235,7 +235,7 @@ grpc_channel *grpc_insecure_channel_create(const char *target,
|
|||
grpc_client_channel_factory *factory =
|
||||
(grpc_client_channel_factory *)&client_channel_factory;
|
||||
grpc_channel *channel = client_channel_factory_create_channel(
|
||||
&exec_ctx, factory, target, GRPC_CLIENT_CHANNEL_TYPE_REGULAR, NULL);
|
||||
&exec_ctx, factory, target, GRPC_CLIENT_CHANNEL_TYPE_REGULAR, args);
|
||||
|
||||
grpc_client_channel_factory_unref(&exec_ctx, factory);
|
||||
grpc_exec_ctx_finish(&exec_ctx);
|
||||
|
|
|
|||
|
|
@ -248,7 +248,7 @@ static void client_channel_factory_unref(
|
|||
|
||||
static grpc_subchannel *client_channel_factory_create_subchannel(
|
||||
grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *cc_factory,
|
||||
grpc_subchannel_args *args) {
|
||||
const grpc_subchannel_args *args) {
|
||||
client_channel_factory *f = (client_channel_factory *)cc_factory;
|
||||
connector *c = gpr_malloc(sizeof(*c));
|
||||
memset(c, 0, sizeof(*c));
|
||||
|
|
@ -272,7 +272,7 @@ static grpc_subchannel *client_channel_factory_create_subchannel(
|
|||
static grpc_channel *client_channel_factory_create_channel(
|
||||
grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *cc_factory,
|
||||
const char *target, grpc_client_channel_type type,
|
||||
grpc_channel_args *args) {
|
||||
const grpc_channel_args *args) {
|
||||
client_channel_factory *f = (client_channel_factory *)cc_factory;
|
||||
grpc_channel *channel =
|
||||
grpc_channel_create(exec_ctx, target, args, GRPC_CLIENT_CHANNEL, NULL);
|
||||
|
|
|
|||
|
|
@ -636,7 +636,7 @@ TEST_P(End2endTest, SimpleRpcWithCustomeUserAgentPrefix) {
|
|||
auto iter = trailing_metadata.find("user-agent");
|
||||
EXPECT_TRUE(iter != trailing_metadata.end());
|
||||
grpc::string expected_prefix = user_agent_prefix_ + " grpc-c++/";
|
||||
EXPECT_TRUE(iter->second.starts_with(expected_prefix));
|
||||
EXPECT_TRUE(iter->second.starts_with(expected_prefix)) << iter->second;
|
||||
}
|
||||
|
||||
TEST_P(End2endTest, MultipleRpcsWithVariedBinaryMetadataValue) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue