diff options
author | Mark D. Roth <roth@google.com> | 2016-09-16 08:51:01 -0700 |
---|---|---|
committer | Mark D. Roth <roth@google.com> | 2016-09-16 08:51:01 -0700 |
commit | c5c38782ecc885c372b4337f69c6d27a5c51dd42 (patch) | |
tree | 693406a1020ba941ef91eadf8f1b16bb3a77cc5a /src/core/ext/lb_policy/pick_first | |
parent | 46131d849efa3fabace12e1dcd2c17d9f1fee35e (diff) | |
parent | d2f7268bc702d0bf2083b9dedb2ec07544b83dd2 (diff) |
Merge remote-tracking branch 'upstream/master' into grpclb_resolver_changes
Diffstat (limited to 'src/core/ext/lb_policy/pick_first')
-rw-r--r-- | src/core/ext/lb_policy/pick_first/pick_first.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/core/ext/lb_policy/pick_first/pick_first.c b/src/core/ext/lb_policy/pick_first/pick_first.c index 9f3a6939e6..09df92dd99 100644 --- a/src/core/ext/lb_policy/pick_first/pick_first.c +++ b/src/core/ext/lb_policy/pick_first/pick_first.c @@ -199,10 +199,8 @@ static void pf_exit_idle(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { } static int pf_pick(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, - grpc_polling_entity *pollent, - grpc_metadata_batch *initial_metadata, - uint32_t initial_metadata_flags, - grpc_connected_subchannel **target, + const grpc_lb_policy_pick_args *pick_args, + grpc_connected_subchannel **target, void **user_data, grpc_closure *on_complete) { pick_first_lb_policy *p = (pick_first_lb_policy *)pol; pending_pick *pp; @@ -225,13 +223,13 @@ static int pf_pick(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, if (!p->started_picking) { start_picking(exec_ctx, p); } - grpc_polling_entity_add_to_pollset_set(exec_ctx, pollent, + grpc_polling_entity_add_to_pollset_set(exec_ctx, pick_args->pollent, p->base.interested_parties); pp = gpr_malloc(sizeof(*pp)); pp->next = p->pending_picks; - pp->pollent = pollent; + pp->pollent = pick_args->pollent; pp->target = target; - pp->initial_metadata_flags = initial_metadata_flags; + pp->initial_metadata_flags = pick_args->initial_metadata_flags; pp->on_complete = on_complete; p->pending_picks = pp; gpr_mu_unlock(&p->mu); @@ -462,6 +460,11 @@ static grpc_lb_policy *create_pick_first(grpc_exec_ctx *exec_ctx, /* Skip balancer addresses, since we only know how to handle backends. */ if (args->addresses->addresses[i].is_balancer) continue; + if (args->addresses->addresses[i].user_data != NULL) { + gpr_log(GPR_ERROR, + "This LB policy doesn't support user data. It will be ignored"); + } + memset(&sc_args, 0, sizeof(grpc_subchannel_args)); sc_args.addr = (struct sockaddr *)(&args->addresses->addresses[i].address.addr); |