public LitePacketParserWithCustomProcessor()
        {
            var connection = new Mock <ILiteConnection>();

            _token        = new LiteDataToken(connection.Object);
            _packetParser = new LitePacketParser(new CustomVariablePacketProcessor());
        }
        public void ParseIncomingDataWithHeaderTest(int bytesTransfered)
        {
            _packetParser = new LitePacketParser(new DefaultLitePacketProcessor(includeHeader: true));

            var connection             = new Mock <ILiteConnection>();
            var token                  = new LiteDataToken(connection.Object);
            var numberOfReceivesNeeded = _buffer.Length / bytesTransfered + 1;
            var receviedMessages       = new List <byte[]>();

            for (var i = 0; i < numberOfReceivesNeeded; i++)
            {
                var incomingBuffer = _buffer.Skip(i * bytesTransfered).Take(bytesTransfered).ToArray();

                IEnumerable <byte[]> messages = _packetParser.ParseIncomingData(token, incomingBuffer, Math.Min(bytesTransfered, incomingBuffer.Length));

                if (messages.Any())
                {
                    receviedMessages.AddRange(messages);
                }
            }

            Assert.Single(receviedMessages);

            var messageContent = Encoding.UTF8.GetString(_buffer);

            Assert.Equal(messageContent, Encoding.UTF8.GetString(receviedMessages.Single().ToArray()));
        }
Esempio n. 3
0
        public void ParseIncomingDataWithInvalidSizeTest()
        {
            _packetParser = new LitePacketParser(_packetProcessor);
            var token = new LiteDataToken();

            Assert.Throws <InvalidOperationException>(() => _packetParser.ParseIncomingData(token, _invalidBuffer, 32));
        }
Esempio n. 4
0
        public void ParseIncomingDataTest(int bytesTransfered)
        {
            _packetParser = new LitePacketParser(_packetProcessor);
            var token = new LiteDataToken();
            var numberOfReceivesNeeded = _buffer.Length / bytesTransfered + 1;
            var receviedMessages       = new List <byte[]>();

            for (var i = 0; i < numberOfReceivesNeeded; i++)
            {
                var incomingBuffer = _buffer.Skip(i * bytesTransfered).Take(bytesTransfered).ToArray();

                IEnumerable <byte[]> messages = _packetParser.ParseIncomingData(token, incomingBuffer, Math.Min(bytesTransfered, incomingBuffer.Length));

                if (messages.Any())
                {
                    receviedMessages.AddRange(messages);
                }
            }

            Assert.Single(receviedMessages);
            Assert.Equal(_messageContent, Encoding.UTF8.GetString(receviedMessages.Single().Skip(sizeof(int)).ToArray()));
        }
Esempio n. 5
0
 /// <summary>
 /// Creates a new <see cref="LiteReceiver"/> instance with a <see cref="ILitePacketProcessor"/> and a <see cref="ReceiveStrategyType"/>.
 /// </summary>
 /// <param name="packetProcessor">Packet processor to process incoming data and convert it into an exploitable packet stream.</param>
 /// <param name="receiveStrategy">A <see cref="ReceiveStrategyType"/> to use.</param>
 protected LiteReceiver(ILitePacketProcessor packetProcessor, ReceiveStrategyType receiveStrategy)
 {
     _packetProcessor = packetProcessor;
     ReceiveStrategy  = receiveStrategy;
     _packetParser    = new LitePacketParser(_packetProcessor);
 }
Esempio n. 6
0
 public LitePacketParserWithCustomProcessor()
 {
     _token        = new LiteDataToken();
     _packetParser = new LitePacketParser(new CustomVariablePacketProcessor());
 }