private void AddData(byte[] data) { SpheroPacket packet = AssemblePacket(data); if (packet != null) { lock (SyncRoot) { RegisterReceivedPacket(packet); } OnPacketReady(new PacketReadyEventArgs(packet)); } }
private void RegisterReceivedPacket(SpheroPacket packet) { if (packet is SpheroResponsePacket) { ResponsePackets.Add(packet as SpheroResponsePacket); if (ResponsePackets.Count > _numberOfPacketsToLog) { ResponsePackets.RemoveAt(0); } } else if (packet is SpheroAsyncPacket) { AsyncPackets.Add(packet as SpheroAsyncPacket); if (AsyncPackets.Count > _numberOfPacketsToLog) { AsyncPackets.RemoveAt(0); } } else { throw new Exception("Unknown packet type. This should not happen."); } }
public PacketReadyEventArgs(SpheroPacket packet) { Packet = packet; }