protected virtual void ProcessOrderPacket(SkirmishOrderPacket packet, NetPeer sender) { _receivedPacketsPerFrame.TryGetValue(packet.Frame, out int count); _receivedPacketsPerFrame[packet.Frame] = count + 1; Logger.Trace($" Packet count for frame {packet.Frame} is now {count + 1}"); StorePacket(packet); }
protected void StorePacket(SkirmishOrderPacket packet) { _receivedPackets.Add(packet); if (packet.Orders.Count > 0) { Logger.Trace($"Storing packet for frame {packet.Frame} with {packet.Orders.Count} orders, count is {_receivedPackets.Count}"); } }
private void DistributePacketToOtherClients(SkirmishOrderPacket packet, NetPeer sender) { _writer.Reset(); _processor.Write(_writer, packet); foreach (var peer in _manager.ConnectedPeerList) { if (peer != sender) { Logger.Trace($" Redistributing to {peer.EndPoint}"); peer.Send(_writer, DeliveryMethod.ReliableUnordered); } } }
public override void Send(uint frame, List <Order> orders) { var scheduledFrame = frame + OrderSchedulingOffsetInFrames; base.Send(scheduledFrame, orders); _writer.Reset(); var packet = new SkirmishOrderPacket() { Frame = scheduledFrame, Orders = orders }; _processor.Write(_writer, packet); _manager.SendToAll(_writer, DeliveryMethod.ReliableOrdered); }
public override void Send(uint frame, List <Order> orders) { var scheduledFrame = frame + OrderSchedulingOffsetInFrames; Logger.Trace($"Frame {frame}: Sending {orders.Count} for frame {scheduledFrame}"); var packet = new SkirmishOrderPacket() { Frame = scheduledFrame, Orders = orders }; StorePacket(packet); _writer.Reset(); _processor.Write(_writer, packet); _manager.SendToAll(_writer, DeliveryMethod.ReliableOrdered); }
protected override void ProcessOrderPacket(SkirmishOrderPacket packet, NetPeer sender) { DistributePacketToOtherClients(packet, sender); base.ProcessOrderPacket(packet, sender); }
private void ReceiveOrderPacket(SkirmishOrderPacket packet, NetPeer sender) { Logger.Trace($"Received packet for frame {packet.Frame} from {sender.EndPoint}"); ProcessOrderPacket(packet, sender); }