示例#1
0
        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);
        }
示例#2
0
 public void Disconnect()
 {
     CurrentAddress = null;
     Subchannel.UpdateConnectivityState(ConnectivityState.Idle, "Disconnected.");
 }
示例#3
0
 public void UpdateState(ConnectivityState state, Status?status = null)
 {
     _state = state;
     Subchannel.UpdateConnectivityState(_state, status ?? Status.DefaultSuccess);
 }