private void KeepaliveTimer_Elapsed(object sender, ElapsedEventArgs e) { if (keepaliveTimestamp <= DateTime.UtcNow) { CoapToken token = CoapToken.Create(); ushort id = CoapSender.NewId(token.TokenBytes); CoapRequest ping = new CoapRequest { MessageId = id, Token = token.TokenBytes, Code = CodeType.EmptyMessage, MessageType = CoapMessageType.Confirmable }; OnKeepAlive?.Invoke(this, new CoapMessageEventArgs(ping)); } }
protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { if (keepaliveTimer != null) { keepaliveTimer.Stop(); keepaliveTimer.Dispose(); } CoapSender.Dispose(); CoapReceiver.Dispose(); } disposedValue = true; } }