/// <summary>
 /// Default Constructor
 /// </summary>
 public Router(MessagErrorDelegate routerInformation, Int32 waitForAck, Hashtable messageTypes)
 {
     this.messageError = routerInformation;
     this.waitForAck = waitForAck;
     this.messageFactory = new MessageFactory(messageTypes);
     duplicationProbability = Math.Pow(10, -100);
     messageAverage = 0;
     iterations = 0;
     messageIdCollection = new MessageIdCollection();
     failedMessageQueue = new MessageQueue();
     notSentMessageQueue = new MessageMonitoredQueue();
     notConfirmedMessageList = new MessageList();
     nMessagesConfirmed = 0;
     nMessagesFailed = 0;
     nMessagesReplayed = 0;
     nMessagesSent = 0;
     nMessagesDestroyed = 0;
     nMessagesReceived = 0;
     nMessagesRouted = 0;
     nMessagesDroped = 0;
     nMessagesCounted = 0;
 }