Пример #1
0
 public StartOperationMessage(IClientOperation operation, int maxRetries, TimeSpan timeout)
 {
     Ensure.NotNull(operation, "operation");
     Operation  = operation;
     MaxRetries = maxRetries;
     Timeout    = timeout;
 }
        private void StartOperation(IClientOperation operation, int maxRetries, TimeSpan timeout)
        {
            switch (_state)
            {
            case ConnectionState.Init:
                operation.Fail(new InvalidOperationException(
                                   string.Format("EventStoreConnection '{0}' is not active.", _esConnection.ConnectionName)));
                break;

            case ConnectionState.Connecting:
                LogDebug("StartOperation enqueue {0}, {1}, {2}, {3}.", operation.GetType().Name, operation,
                         maxRetries, timeout);
                _operations.EnqueueOperation(new OperationItem(operation, maxRetries, timeout));
                break;

            case ConnectionState.Connected:
                LogDebug("StartOperation schedule {0}, {1}, {2}, {3}.", operation.GetType().Name, operation,
                         maxRetries, timeout);
                _operations.ScheduleOperation(new OperationItem(operation, maxRetries, timeout), _connection);
                break;

            case ConnectionState.Closed:
                operation.Fail(new ObjectDisposedException(_esConnection.ConnectionName));
                break;

            default: throw new Exception(string.Format("Unknown state: {0}.", _state));
            }
        }
Пример #3
0
 public StartOperationMessage(IClientOperation operation, int maxRetries, TimeSpan timeout)
 {
     Ensure.NotNull(operation, "operation");
     Operation = operation;
     MaxRetries = maxRetries;
     Timeout = timeout;
 }
 private void EnqueueOperation(IClientOperation operation)
 {
     while (_handler.TotalOperationCount >= _settings.MaxQueueSize)
     {
         Thread.Sleep(1);
     }
     _handler.EnqueueMessage(new StartOperationMessage(operation, _settings.MaxRetries, _settings.OperationTimeout));
 }
 private async Task EnqueueOperation(IClientOperation operation)
 {
     while (_handler.TotalOperationCount >= Settings.MaxQueueSize)
     {
         await Task.Delay(1).ConfigureAwait(false);
     }
     _handler.EnqueueMessage(new StartOperationMessage(operation, Settings.MaxRetries, Settings.OperationTimeout));
 }
Пример #6
0
 private void EnqueueOperation(IClientOperation operation)
 {
     while (_queue.Count >= MaxQueueSize)
     {
         Thread.Sleep(1);
     }
     _queue.Enqueue(operation);
 }
Пример #7
0
        public WorkItem(IClientOperation operation)
        {
            Ensure.NotNull(operation, "operation");
            SeqNo     = NextSeqNo();
            Operation = operation;

            Attempt          = 0;
            LastUpdatedTicks = DateTime.UtcNow.Ticks;
        }
Пример #8
0
        public WorkItem(IClientOperation operation)
        {
            Ensure.NotNull(operation, "operation");
            SeqNo = NextSeqNo();
            Operation = operation;

            Attempt = 0;
            LastUpdatedTicks = DateTime.UtcNow.Ticks;
        }
Пример #9
0
        public OperationItem(IClientOperation operation, int maxRetries, TimeSpan timeout)
        {
            Ensure.NotNull(operation, "operation");

            Operation   = operation;
            MaxRetries  = maxRetries;
            Timeout     = timeout;
            CreatedTime = DateTime.UtcNow;

            CorrelationId = Guid.NewGuid();
            RetryCount    = 0;
            LastUpdated   = DateTime.UtcNow;
        }
Пример #10
0
        public OperationItem(IClientOperation operation, long pushRef, int maxRetries, TimeSpan timeout)
        {
            Ensure.NotNull(operation, "operation");

            Operation   = operation;
            MaxRetries  = maxRetries;
            Timeout     = timeout;
            CreatedTime = DateTime.UtcNow;

            Ref         = pushRef;
            RetryCount  = 0;
            LastUpdated = DateTime.UtcNow;
        }
 private void StartOperation(IClientOperation operation, int maxRetries, TimeSpan timeout)
 {
     switch (_state)
     {
         case ConnectionState.Init:
             operation.Fail(new InvalidOperationException(string.Format("EventStoreConnection '{0}' is not active.", _esConnection.ConnectionName)));
             break;
         case ConnectionState.Connecting:
             LogDebug("StartOperation enqueue {0}, {1}, {2}, {3}.", operation.GetType().Name, operation, maxRetries, timeout);
             _operations.EnqueueOperation(new OperationItem(operation, maxRetries, timeout));
             break;
         case ConnectionState.Connected:
             LogDebug("StartOperation schedule {0}, {1}, {2}, {3}.", operation.GetType().Name, operation, maxRetries, timeout);
             _operations.ScheduleOperation(new OperationItem(operation, maxRetries, timeout), _connection);
             break;
         case ConnectionState.Closed:
             operation.Fail(new ObjectDisposedException(_esConnection.ConnectionName));
             break;
         default: throw new Exception(string.Format("Unknown state: {0}.", _state));
     }
 }
 private void EnqueueOperation(IClientOperation operation)
 {
     while (_queue.Count >= _settings.MaxQueueSize)
     {
         Thread.Sleep(1);
     }
     _queue.Enqueue(operation);
 }
 private void EnqueueOperation(IClientOperation operation)
 {
     while (_handler.TotalOperationCount >= _settings.MaxQueueSize)
     {
         Thread.Sleep(1);
     }
     _handler.EnqueueMessage(new StartOperationMessage(operation, _settings.MaxRetries, _settings.OperationTimeout));
 }
Пример #14
0
 public ClientManager(IClientOperation clientOperation)
 {
     _clientOperation = clientOperation;
 }
 private Task SendOperationAsync(IClientOperation operation)
 {
     return(_taskQueue.Enqueue(() => _webSocketClient.Send(operation.ToJson())));
 }
 public ClientController(IClientOperation clientOperetion, IBaseClientOperation baseClientOperation)
 {
     _baseClientMng = baseClientOperation;
     _ClientMng     = clientOperetion;
 }