Betzalel.SimpleMulticastAnalyzer.Net.Protocols.UdpNetworkProtocol.StartListenTask C# (CSharp) Method

StartListenTask() private method

private StartListenTask ( object state ) : void
state object
return void
        private void StartListenTask(object state)
        {
            try
              {
            var receiveBuffer = new byte[1500];

            while (!_listenCancelToken.IsCancellationRequested)
            {
              var receiveBufferSize = _socket.Receive(receiveBuffer);

              if (_verifyOrder)
              {
            var receivedPacketNumber = BitConverter.ToUInt64(receiveBuffer, 0);

            if (receivedPacketNumber == 0)
            {
              _statistics.Reset();
            }
            else
            {
              var packetNumberDelta = receivedPacketNumber - _currentPacketNumber;

              if (packetNumberDelta > 1)
                _statistics.ReceivedPacketUnordered(packetNumberDelta - 1);
            }

            _currentPacketNumber = receivedPacketNumber;
              }

              if (receiveBufferSize != _packetDataSize)
            _statistics.ReceivedPacketMismatchSize();

              _statistics.ReceivedPacket();
            }
              }
              catch (OperationCanceledException)
              {
            //  StopListen() was called
              }
              catch (Exception e)
              {
            _log.Error("An error occurred while receiving data.", e);
              }
        }