mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-19 19:13:11 +08:00
35 lines
1.0 KiB
C#
35 lines
1.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using MQTTnet.Adapter;
|
|
using MQTTnet.Packets;
|
|
|
|
namespace MQTTnet.Formatter.V5
|
|
{
|
|
public class MqttV500PacketFormatter : IMqttPacketFormatter
|
|
{
|
|
private readonly MqttV500PacketEncoder _encoder = new MqttV500PacketEncoder();
|
|
private readonly MqttV500PacketDecoder _decoder = new MqttV500PacketDecoder();
|
|
|
|
public IMqttDataConverter DataConverter { get; } = new MqttV500DataConverter();
|
|
|
|
public ArraySegment<byte> Encode(MqttBasePacket mqttPacket)
|
|
{
|
|
if (mqttPacket == null) throw new ArgumentNullException(nameof(mqttPacket));
|
|
|
|
return _encoder.Encode(mqttPacket);
|
|
}
|
|
|
|
public MqttBasePacket Decode(ReceivedMqttPacket receivedMqttPacket)
|
|
{
|
|
if (receivedMqttPacket == null) throw new ArgumentNullException(nameof(receivedMqttPacket));
|
|
|
|
return _decoder.Decode(receivedMqttPacket);
|
|
}
|
|
|
|
public void FreeBuffer()
|
|
{
|
|
_encoder.FreeBuffer();
|
|
}
|
|
}
|
|
}
|