protected virtual void Dispatcher_TransportDataTimeout(object sender, Interfaces.IPacket packet) { if (guaranteedCmdRetry > 0) { if (TransportDispatcherState == TransporterState.Ready) { transporter.Send(currentTransportPacket); } } else { packetQueue.TryDequeue(out var onePacket); transporter.ClearWaitResponseTimeoutTimer(packet); TransportDataTimeout?.Invoke(this, currentTransportPacket); } }
private void ResponseTimeoutElapsed(object sender, EventArgs e) { ClearWaitResponseTimeoutTimer(lastSentPacket); TransportDataTimeout?.Invoke(this, lastSentPacket); }