|
|
@ -578,7 +578,12 @@ static void start_transport_op_locked(void* arg, grpc_error* error_ignored) { |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
grpc_error* error = GRPC_ERROR_NONE; |
|
|
|
grpc_error* error = GRPC_ERROR_NONE; |
|
|
|
grpc_core::LoadBalancingPolicy::PickState pick_state; |
|
|
|
grpc_core::LoadBalancingPolicy::PickState pick_state; |
|
|
|
memset(&pick_state, 0, sizeof(pick_state)); |
|
|
|
pick_state.initial_metadata = nullptr; |
|
|
|
|
|
|
|
pick_state.initial_metadata_flags = 0; |
|
|
|
|
|
|
|
pick_state.on_complete = nullptr; |
|
|
|
|
|
|
|
memset(&pick_state.subchannel_call_context, 0, |
|
|
|
|
|
|
|
sizeof(pick_state.subchannel_call_context)); |
|
|
|
|
|
|
|
pick_state.user_data = nullptr; |
|
|
|
// Pick must return synchronously, because pick_state.on_complete is null.
|
|
|
|
// Pick must return synchronously, because pick_state.on_complete is null.
|
|
|
|
GPR_ASSERT(chand->lb_policy->PickLocked(&pick_state, &error)); |
|
|
|
GPR_ASSERT(chand->lb_policy->PickLocked(&pick_state, &error)); |
|
|
|
if (pick_state.connected_subchannel != nullptr) { |
|
|
|
if (pick_state.connected_subchannel != nullptr) { |
|
|
|