|
|
@ -285,11 +285,11 @@ bool PickFirst::PickLocked(PickState* pick, grpc_error** error) { |
|
|
|
"No pick result available but synchronous result required."); |
|
|
|
"No pick result available but synchronous result required."); |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
pick->next = pending_picks_; |
|
|
|
|
|
|
|
pending_picks_ = pick; |
|
|
|
if (!started_picking_) { |
|
|
|
if (!started_picking_) { |
|
|
|
StartPickingLocked(); |
|
|
|
StartPickingLocked(); |
|
|
|
} |
|
|
|
} |
|
|
|
pick->next = pending_picks_; |
|
|
|
|
|
|
|
pending_picks_ = pick; |
|
|
|
|
|
|
|
return false; |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -570,15 +570,6 @@ void PickFirst::PickFirstSubchannelData::ProcessConnectivityChangeLocked( |
|
|
|
|
|
|
|
|
|
|
|
void PickFirst::PickFirstSubchannelData::ProcessUnselectedReadyLocked() { |
|
|
|
void PickFirst::PickFirstSubchannelData::ProcessUnselectedReadyLocked() { |
|
|
|
PickFirst* p = static_cast<PickFirst*>(subchannel_list()->policy()); |
|
|
|
PickFirst* p = static_cast<PickFirst*>(subchannel_list()->policy()); |
|
|
|
if (p->selected_ == this) { |
|
|
|
|
|
|
|
if (grpc_lb_pick_first_trace.enabled()) { |
|
|
|
|
|
|
|
gpr_log(GPR_ERROR, |
|
|
|
|
|
|
|
"Pick First %p calling ProcessUnselectedReadyLocked() on " |
|
|
|
|
|
|
|
"selected subchannel %p", |
|
|
|
|
|
|
|
p, subchannel()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// If we get here, there are two possible cases:
|
|
|
|
// If we get here, there are two possible cases:
|
|
|
|
// 1. We do not currently have a selected subchannel, and the update is
|
|
|
|
// 1. We do not currently have a selected subchannel, and the update is
|
|
|
|
// for a subchannel in p->subchannel_list_ that we're trying to
|
|
|
|
// for a subchannel in p->subchannel_list_ that we're trying to
|
|
|
|