Add packet inspector API.

This commit is contained in:
Christian
2021-01-24 20:58:15 +01:00
parent e1d39a3fef
commit c1001db450
26 changed files with 480 additions and 289 deletions
@@ -9,6 +9,7 @@ using MQTTnet.Channel;
using MQTTnet.Formatter;
using MQTTnet.Formatter.V3;
using BenchmarkDotNet.Jobs;
using MQTTnet.Diagnostics;
namespace MQTTnet.Benchmarks
{
@@ -48,19 +49,13 @@ namespace MQTTnet.Benchmarks
{
var channel = new BenchmarkMqttChannel(_serializedPacket);
var fixedHeader = new byte[2];
var reader = new MqttPacketReader(channel);
var reader = new MqttChannelAdapter(channel, new MqttPacketFormatterAdapter(new MqttPacketWriter()), null, new MqttNetLogger());
for (var i = 0; i < 10000; i++)
{
channel.Reset();
var header = reader.ReadFixedHeaderAsync(fixedHeader, CancellationToken.None).GetAwaiter().GetResult().FixedHeader;
var receivedPacket = new ReceivedMqttPacket(
header.Flags,
new MqttPacketBodyReader(_serializedPacket.Array, _serializedPacket.Count - header.RemainingLength, _serializedPacket.Array.Length), 0);
_serializer.Decode(receivedPacket);
var header = reader.ReceivePacketAsync(CancellationToken.None).GetAwaiter().GetResult();
}
}