示例#1
0
 //ctor
 public SendDispatchCommand(IDispatchChannelRegistry <TKey> channelRegistry, ILogger logger,
                            IDispatchQueue <TKey> dispatchQueue, IMonitor <TKey> monitor)
 {
     _channelRegistry = channelRegistry;
     _logger          = logger;
     _dispatchQueue   = dispatchQueue;
     _monitor         = monitor;
 }
 public DatabaseDispatchProvider(IDispatchQueue <TKey> dispatchQueues, IMonitor <TKey> eventSink, SenderSettings senderSettings,
                                 IDispatchChannelRegistry <TKey> dispatcherRegistry, ISignalDispatchQueries <TKey> dispatchQueries,
                                 ILogger logger, IChangeNotifier <SignalDispatch <TKey> > changeNotifier,
                                 ILockTracker <TKey> lockTracker, IConsolidationLockTracker <TKey> consolidationLockTracker)
     : this(dispatchQueues, eventSink, senderSettings, dispatcherRegistry, dispatchQueries, logger, lockTracker, consolidationLockTracker)
 {
     _changeNotifier = changeNotifier;
 }
示例#3
0
        //init
        public DispatchProcessor(SenderState <TKey> hubState, IDispatchQueue <TKey> dispatchQueue,
                                 ILogger logger, SenderSettings senderSettings, IDispatchChannelRegistry <TKey> channelRegistry,
                                 IEnumerable <IDispatchProcessingCommand <TKey> > processingCommands)
            : base(logger)
        {
            _hubState           = hubState;
            _dispatchQueue      = dispatchQueue;
            _channelRegistry    = channelRegistry;
            _processingCommands = processingCommands
                                  .OrderBy(x => x.Order)
                                  .ToArray();

            MaxParallelItems = senderSettings.MaxParallelDispatchesProcessed;
        }
        //init
        public DatabaseDispatchProvider(IDispatchQueue <TKey> dispatchQueue, IMonitor <TKey> eventSink, SenderSettings senderSettings,
                                        IDispatchChannelRegistry <TKey> dispatcherRegistry, ISignalDispatchQueries <TKey> dispatchQueries, ILogger logger,
                                        ILockTracker <TKey> lockTracker, IConsolidationLockTracker <TKey> consolidationLockTracker)
        {
            _dispatchQueue            = dispatchQueue;
            _monitor                  = eventSink;
            _dispatcherRegistry       = dispatcherRegistry;
            _dispatchQueries          = dispatchQueries;
            _logger                   = logger;
            _lockTracker              = lockTracker;
            _consolidationLockTracker = consolidationLockTracker;
            _senderSettings           = senderSettings;

            QueryPeriod       = senderSettings.DatabaseSignalProviderQueryPeriod;
            ItemsQueryCount   = senderSettings.DatabaseSignalProviderItemsQueryCount;
            MaxFailedAttempts = senderSettings.DatabaseSignalProviderItemsMaxFailedAttempts;
        }
        //init
        public DispatchQueue(SenderSettings senderSettings, ITemporaryStorage <SignalDispatch <TKey> > temporaryStorage
                             , IDispatchChannelRegistry <TKey> dispatcherRegistry, ISignalFlushJob <SignalDispatch <TKey> > signalFlushJob
                             , ILogger logger)
            : base(temporaryStorage)
        {
            _dispatcherRegistry = dispatcherRegistry;
            _signalFlushJob     = signalFlushJob;
            _logger             = logger;

            RetryPeriod               = senderSettings.SignalQueueRetryPeriod;
            MaxFailedAttempts         = senderSettings.DatabaseSignalProviderItemsMaxFailedAttempts;
            PersistBeginOnItemsCount  = senderSettings.SignalQueuePersistBeginOnItemsCount;
            PersistEndOnItemsCount    = senderSettings.SignalQueuePersistEndOnItemsCount;
            IsTemporaryStorageEnabled = senderSettings.SignalQueueIsTemporaryStorageEnabled;

            _temporaryStorageParameters = new TemporaryStorageParameters()
            {
                QueueType     = NotificationsConstants.TS_DISPATCH_QUEUE_KEY,
                EntityVersion = NotificationsConstants.TS_ENTITIES_VERSION
            };
        }