public void Add(byte[] octets) { // log.Debug("Adding to receive stream:{0:X}", octets); queue.Enqueue(octets, 0, octets.Length); HastyPacket packet = null; do { var octetCount = queue.Peek(targetBuffer, 0, targetBuffer.Length); if (octetCount == 0) { // log.Debug("octetCount zero"); return; } int newOffset; packet = PacketDecoder.Decode(targetBuffer, 0, octetCount, out newOffset, log); if (packet != null) { // log.Debug("Got packet!"); queue.Skip(newOffset); packetReceiver.ReceivePacket(packet); } else { // log.Debug("No packet so far"); } } while (packet != null); }
private void ReceiveThreadProc() { while (running) { var line = input.ReceivePacket(1000); if (!string.IsNullOrEmpty(line)) { Logger.Instance.Debug(this, "receive", line); ReceiveHandle(line); } } }
private void Relay() { var octets = Receive(out IPEndPoint receivedEndpoint); receiver.ReceivePacket(octets, receivedEndpoint); }