예제 #1
0
        public void Disconnect(SSEClientActions action = SSEClientActions.DISCONNECT)
        {
            if (_cancellationTokenSource.IsCancellationRequested)
            {
                return;
            }

            _cancellationTokenSource.Cancel();
            _cancellationTokenSource.Dispose();

            _connected = false;

            _disconnectSignal.Wait(ReadTimeoutMs);

            DispatchActionEvent(action);
            _log.Debug($"Disconnected from {_url}");
        }
예제 #2
0
 private void DispatchActionEvent(SSEClientActions action)
 {
     ActionEvent?.Invoke(this, new SSEActionsEventArgs(action));
 }
예제 #3
0
 public SSEActionsEventArgs(SSEClientActions action)
 {
     Action = action;
 }
예제 #4
0
 public ReadStreamException(SSEClientActions action, string message)
     : base(message)
 {
     Action = action;
 }