Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 private void ReceiveThreadProc()
 {
     while (running)
     {
         var line = input.ReceivePacket(1000);
         if (!string.IsNullOrEmpty(line))
         {
             Logger.Instance.Debug(this, "receive", line);
             ReceiveHandle(line);
         }
     }
 }
Esempio n. 3
0
        private void Relay()
        {
            var octets = Receive(out IPEndPoint receivedEndpoint);

            receiver.ReceivePacket(octets, receivedEndpoint);
        }