TryConnectAsync(ConnectContext context) { var newState = await(_onTryConnect?.Invoke(context.CancellationToken) ?? Task.FromResult(ConnectivityState.Ready)); CurrentAddress = Subchannel._addresses[0]; Subchannel.UpdateConnectivityState(newState, Status.DefaultSuccess); _connectTcs.TrySetResult(null); return(newState == ConnectivityState.Ready); }
public void Disconnect() { CurrentAddress = null; Subchannel.UpdateConnectivityState(ConnectivityState.Idle, "Disconnected."); }
public void UpdateState(ConnectivityState state, Status?status = null) { _state = state; Subchannel.UpdateConnectivityState(_state, status ?? Status.DefaultSuccess); }