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();
}
}
}