/// <summary>
        /// Public ctor
        /// </summary>
        /// <param name="messageDeduplicationPersistor"></param>
        public OutgoingFilter(IMessageDeduplicationPersistor messageDeduplicationPersistor)
        {
            // get instance of the global settings object
            _settings = DeduplicationFilterSettings.Instance;

            // setup persistance store
            if (_messageDeduplicationPersistor == null)
            {
                _messageDeduplicationPersistor = messageDeduplicationPersistor;
            }

            // setup timer for cleaning up expired messages
            lock (Padlock)
            {
                // note: no need to timer with Redis persistor
                if (_timer == null && !_settings.DisableMsgExpiry && messageDeduplicationPersistor.GetType() != typeof(MessageDeduplicationPersistorRedis))
                {
                    _timer = new Timer(Callback, null, 0, _settings.MsgCleanupIntervalMinutes * 60 * 1000);
                }
            }
        }
        /// <summary>
        /// Public ctor
        /// </summary>
        /// <param name="messageDeduplicationPersistor"></param>
        public OutgoingFilter(IMessageDeduplicationPersistor messageDeduplicationPersistor)
        {
            // get instance of the global settings object
            _settings = DeduplicationFilterSettings.Instance;

            // setup persistance store
            if (_messageDeduplicationPersistor == null)
            {
                _messageDeduplicationPersistor = messageDeduplicationPersistor;
            }

            // setup timer for cleaning up expired messages
            lock (Padlock)
            {
                if (_timer == null && !_settings.DisableMsgExpiry)
                {
                    _timer = new Timer(_settings.MsgCleanupIntervalMinutes*60*1000);
                    _timer.Elapsed += TimerElapsed;
                    _timer.Start();
                }
            }
        }
예제 #3
0
 /// <summary>
 /// Public ctor
 /// </summary>
 /// <param name="messageDeduplicationPersistor"></param>
 public IncomingFilter(IMessageDeduplicationPersistor messageDeduplicationPersistor)
 {
     // setup persistance store
     _messageDeduplicationPersistor = messageDeduplicationPersistor;
 }
 /// <summary>
 /// Public ctor
 /// </summary>
 /// <param name="messageDeduplicationPersistor"></param>
 public IncomingFilter(IMessageDeduplicationPersistor messageDeduplicationPersistor)
 {
     // setup persistance store
     _messageDeduplicationPersistor = messageDeduplicationPersistor;
 }