public DhtEngine(DhtListener listener)
{
if (listener == null)
throw new ArgumentNullException("listener");
_messageLoop = new MessageLoop(this, listener);
_timeout = TimeSpan.FromSeconds(15); // 15 second message timeout by default
_tokenManager = new TokenManager();
}