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())); }
public void ParseIncomingDataWithInvalidSizeTest() { _packetParser = new LitePacketParser(_packetProcessor); var token = new LiteDataToken(); Assert.Throws <InvalidOperationException>(() => _packetParser.ParseIncomingData(token, _invalidBuffer, 32)); }
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())); }
/// <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); }
public LitePacketParserWithCustomProcessor() { _token = new LiteDataToken(); _packetParser = new LitePacketParser(new CustomVariablePacketProcessor()); }