Example #1
0
        //init
        public EventQueue(SenderSettings senderSettings, ITemporaryStorage <SignalEvent <TKey> > temporaryStorage
                          , ISignalFlushJob <SignalEvent <TKey> > signalFlushJob, ILogger logger)
            : base(temporaryStorage)
        {
            _signalFlushJob = signalFlushJob;
            _logger         = logger;

            PersistBeginOnItemsCount  = senderSettings.SignalQueuePersistBeginOnItemsCount;
            PersistEndOnItemsCount    = senderSettings.SignalQueuePersistEndOnItemsCount;
            IsTemporaryStorageEnabled = senderSettings.SignalQueueIsTemporaryStorageEnabled;

            _temporaryStorageParameters = new TemporaryStorageParameters()
            {
                QueueType     = NotificationsConstants.TS_EVENT_QUEUE_KEY,
                EntityVersion = NotificationsConstants.TS_ENTITIES_VERSION
            };
        }
        //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
            };
        }