public AckMessageAwaitData(byte ackMessageId, IDisposable messageReceiveDisposable, IOutgoingMessage messageToSend, Action <byte[]> onAckMessageReceivedCalback) { this.AckMessageId = ackMessageId; this.MessageReceiveDisposable = messageReceiveDisposable; this.MessageToSend = messageToSend; this.OnAckMessageReceivedCalback = onAckMessageReceivedCalback; this.LastMessageToAckSendTimestamp = UtcTimestampHelper.GetCurrentUtcMsTimestamp(); }
public void OnFixedUpdateTick() { for (int i = 0; i < pendingAckMessages.Count; i++) { if ((UtcTimestampHelper.GetCurrentUtcMsTimestamp() - pendingAckMessages[i].LastMessageToAckSendTimestamp) >= 100) { udpClient.SendMessage(pendingAckMessages[i].MessageToSend.GetBytes()); pendingAckMessages[i].RefreshSendTime(); } } }
public void RefreshSendTime() { this.LastMessageToAckSendTimestamp = UtcTimestampHelper.GetCurrentUtcMsTimestamp(); }