public override bool ShouldSendKeepAlive() { TimeSpan idleTime = GetIdleTime(); if (idleTime >= _keepAliveInterval) { return true; } ResetTimer((int)(_keepAliveInterval - idleTime).TotalMilliseconds); return false; }