mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-25 23:53:07 +08:00
Remove dedicated V3 messages.
This commit is contained in:
@@ -9,7 +9,6 @@ using MQTTnet.Diagnostics;
|
|||||||
using MQTTnet.Exceptions;
|
using MQTTnet.Exceptions;
|
||||||
using MQTTnet.Internal;
|
using MQTTnet.Internal;
|
||||||
using MQTTnet.Packets;
|
using MQTTnet.Packets;
|
||||||
using MQTTnet.Packets.V3;
|
|
||||||
using MQTTnet.Protocol;
|
using MQTTnet.Protocol;
|
||||||
|
|
||||||
namespace MQTTnet.Client
|
namespace MQTTnet.Client
|
||||||
@@ -194,7 +193,7 @@ namespace MQTTnet.Client
|
|||||||
_adapter = null;
|
_adapter = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<MqttV3ConnAckPacket> AuthenticateAsync(MqttApplicationMessage willApplicationMessage, CancellationToken cancellationToken)
|
private async Task<MqttConnAckPacket> AuthenticateAsync(MqttApplicationMessage willApplicationMessage, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
var connectPacket = new MqttConnectPacket
|
var connectPacket = new MqttConnectPacket
|
||||||
{
|
{
|
||||||
@@ -206,7 +205,7 @@ namespace MQTTnet.Client
|
|||||||
WillMessage = willApplicationMessage
|
WillMessage = willApplicationMessage
|
||||||
};
|
};
|
||||||
|
|
||||||
var response = await SendAndReceiveAsync<MqttV3ConnAckPacket>(connectPacket, cancellationToken).ConfigureAwait(false);
|
var response = await SendAndReceiveAsync<MqttConnAckPacket>(connectPacket, cancellationToken).ConfigureAwait(false);
|
||||||
if (response.ConnectReturnCode != MqttConnectReturnCode.ConnectionAccepted)
|
if (response.ConnectReturnCode != MqttConnectReturnCode.ConnectionAccepted)
|
||||||
{
|
{
|
||||||
throw new MqttConnectingFailedException(response.ConnectReturnCode);
|
throw new MqttConnectingFailedException(response.ConnectReturnCode);
|
||||||
|
|||||||
@@ -1,6 +1,19 @@
|
|||||||
namespace MQTTnet.Packets
|
using MQTTnet.Protocol;
|
||||||
|
|
||||||
|
namespace MQTTnet.Packets
|
||||||
{
|
{
|
||||||
public abstract class MqttConnAckPacket : MqttBasePacket
|
public class MqttConnAckPacket : MqttBasePacket
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Added in MQTTv3.1.1.
|
||||||
|
/// </summary>
|
||||||
|
public bool IsSessionPresent { get; set; }
|
||||||
|
|
||||||
|
public MqttConnectReturnCode ConnectReturnCode { get; set; }
|
||||||
|
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return "ConnAck: [ConnectReturnCode=" + ConnectReturnCode + "] [IsSessionPresent=" + IsSessionPresent + "]";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ namespace MQTTnet.Packets.Properties
|
|||||||
{
|
{
|
||||||
public class MessageExpiryIntervalProperty : FourByteIntegerValue
|
public class MessageExpiryIntervalProperty : FourByteIntegerValue
|
||||||
{
|
{
|
||||||
public MessageExpiryInterval(uint value)
|
public MessageExpiryIntervalProperty(uint value)
|
||||||
: base((byte)PropertyID.MessageExpiryInterval, value)
|
: base((byte)PropertyID.MessageExpiryInterval, value)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
using MQTTnet.Protocol;
|
|
||||||
|
|
||||||
namespace MQTTnet.Packets.V3
|
|
||||||
{
|
|
||||||
public class MqttV3ConnAckPacket : MqttBasePacket
|
|
||||||
{
|
|
||||||
public bool IsSessionPresent { get; set; }
|
|
||||||
|
|
||||||
public MqttConnectReturnCode ConnectReturnCode { get; set; }
|
|
||||||
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return "ConnAck: [ConnectReturnCode=" + ConnectReturnCode + "] [IsSessionPresent=" + IsSessionPresent + "]";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -4,7 +4,6 @@ using MQTTnet.Protocol;
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using MQTTnet.Adapter;
|
using MQTTnet.Adapter;
|
||||||
using MQTTnet.Packets.V3;
|
|
||||||
|
|
||||||
namespace MQTTnet.Serializer
|
namespace MQTTnet.Serializer
|
||||||
{
|
{
|
||||||
@@ -80,7 +79,7 @@ namespace MQTTnet.Serializer
|
|||||||
switch (packet)
|
switch (packet)
|
||||||
{
|
{
|
||||||
case MqttConnectPacket connectPacket: return SerializeConnectPacket(connectPacket, packetWriter);
|
case MqttConnectPacket connectPacket: return SerializeConnectPacket(connectPacket, packetWriter);
|
||||||
case MqttV3ConnAckPacket connAckPacket: return SerializeConnAckPacket(connAckPacket, packetWriter);
|
case MqttConnAckPacket connAckPacket: return SerializeConnAckPacket(connAckPacket, packetWriter);
|
||||||
case MqttDisconnectPacket _: return SerializeEmptyPacket(MqttControlPacketType.Disconnect);
|
case MqttDisconnectPacket _: return SerializeEmptyPacket(MqttControlPacketType.Disconnect);
|
||||||
case MqttPingReqPacket _: return SerializeEmptyPacket(MqttControlPacketType.PingReq);
|
case MqttPingReqPacket _: return SerializeEmptyPacket(MqttControlPacketType.PingReq);
|
||||||
case MqttPingRespPacket _: return SerializeEmptyPacket(MqttControlPacketType.PingResp);
|
case MqttPingRespPacket _: return SerializeEmptyPacket(MqttControlPacketType.PingResp);
|
||||||
@@ -285,7 +284,7 @@ namespace MQTTnet.Serializer
|
|||||||
{
|
{
|
||||||
ThrowIfBodyIsEmpty(body);
|
ThrowIfBodyIsEmpty(body);
|
||||||
|
|
||||||
var packet = new MqttV3ConnAckPacket();
|
var packet = new MqttConnAckPacket();
|
||||||
|
|
||||||
body.ReadByte(); // Reserved.
|
body.ReadByte(); // Reserved.
|
||||||
packet.ConnectReturnCode = (MqttConnectReturnCode)body.ReadByte();
|
packet.ConnectReturnCode = (MqttConnectReturnCode)body.ReadByte();
|
||||||
@@ -379,7 +378,7 @@ namespace MQTTnet.Serializer
|
|||||||
return MqttPacketWriter.BuildFixedHeader(MqttControlPacketType.Connect);
|
return MqttPacketWriter.BuildFixedHeader(MqttControlPacketType.Connect);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual byte SerializeConnAckPacket(MqttV3ConnAckPacket packet, MqttPacketWriter packetWriter)
|
protected virtual byte SerializeConnAckPacket(MqttConnAckPacket packet, MqttPacketWriter packetWriter)
|
||||||
{
|
{
|
||||||
packetWriter.Write(0); // Reserved.
|
packetWriter.Write(0); // Reserved.
|
||||||
packetWriter.Write((byte)packet.ConnectReturnCode);
|
packetWriter.Write((byte)packet.ConnectReturnCode);
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
using MQTTnet.Exceptions;
|
using MQTTnet.Exceptions;
|
||||||
using MQTTnet.Packets;
|
using MQTTnet.Packets;
|
||||||
using MQTTnet.Packets.V3;
|
|
||||||
using MQTTnet.Protocol;
|
using MQTTnet.Protocol;
|
||||||
|
|
||||||
namespace MQTTnet.Serializer
|
namespace MQTTnet.Serializer
|
||||||
@@ -69,7 +68,7 @@ namespace MQTTnet.Serializer
|
|||||||
return MqttPacketWriter.BuildFixedHeader(MqttControlPacketType.Connect);
|
return MqttPacketWriter.BuildFixedHeader(MqttControlPacketType.Connect);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override byte SerializeConnAckPacket(MqttV3ConnAckPacket packet, MqttPacketWriter packetWriter)
|
protected override byte SerializeConnAckPacket(MqttConnAckPacket packet, MqttPacketWriter packetWriter)
|
||||||
{
|
{
|
||||||
byte connectAcknowledgeFlags = 0x0;
|
byte connectAcknowledgeFlags = 0x0;
|
||||||
if (packet.IsSessionPresent)
|
if (packet.IsSessionPresent)
|
||||||
@@ -87,7 +86,7 @@ namespace MQTTnet.Serializer
|
|||||||
{
|
{
|
||||||
ThrowIfBodyIsEmpty(body);
|
ThrowIfBodyIsEmpty(body);
|
||||||
|
|
||||||
var packet = new MqttV3ConnAckPacket();
|
var packet = new MqttConnAckPacket();
|
||||||
|
|
||||||
var acknowledgeFlags = body.ReadByte();
|
var acknowledgeFlags = body.ReadByte();
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ using MQTTnet.Diagnostics;
|
|||||||
using MQTTnet.Exceptions;
|
using MQTTnet.Exceptions;
|
||||||
using MQTTnet.Internal;
|
using MQTTnet.Internal;
|
||||||
using MQTTnet.Packets;
|
using MQTTnet.Packets;
|
||||||
using MQTTnet.Packets.V3;
|
|
||||||
using MQTTnet.Protocol;
|
using MQTTnet.Protocol;
|
||||||
|
|
||||||
namespace MQTTnet.Server
|
namespace MQTTnet.Server
|
||||||
@@ -229,7 +228,7 @@ namespace MQTTnet.Server
|
|||||||
if (connectReturnCode != MqttConnectReturnCode.ConnectionAccepted)
|
if (connectReturnCode != MqttConnectReturnCode.ConnectionAccepted)
|
||||||
{
|
{
|
||||||
await clientAdapter.SendPacketAsync(
|
await clientAdapter.SendPacketAsync(
|
||||||
new MqttV3ConnAckPacket
|
new MqttConnAckPacket
|
||||||
{
|
{
|
||||||
ConnectReturnCode = connectReturnCode
|
ConnectReturnCode = connectReturnCode
|
||||||
},
|
},
|
||||||
@@ -242,7 +241,7 @@ namespace MQTTnet.Server
|
|||||||
var clientSession = result.Session;
|
var clientSession = result.Session;
|
||||||
|
|
||||||
await clientAdapter.SendPacketAsync(
|
await clientAdapter.SendPacketAsync(
|
||||||
new MqttV3ConnAckPacket
|
new MqttConnAckPacket
|
||||||
{
|
{
|
||||||
ConnectReturnCode = connectReturnCode,
|
ConnectReturnCode = connectReturnCode,
|
||||||
IsSessionPresent = result.IsExistingSession
|
IsSessionPresent = result.IsExistingSession
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ using MQTTnet.Client;
|
|||||||
using MQTTnet.Diagnostics;
|
using MQTTnet.Diagnostics;
|
||||||
using MQTTnet.Exceptions;
|
using MQTTnet.Exceptions;
|
||||||
using MQTTnet.Packets;
|
using MQTTnet.Packets;
|
||||||
using MQTTnet.Packets.V3;
|
|
||||||
|
|
||||||
namespace MQTTnet.Core.Tests
|
namespace MQTTnet.Core.Tests
|
||||||
{
|
{
|
||||||
@@ -51,11 +50,9 @@ namespace MQTTnet.Core.Tests
|
|||||||
|
|
||||||
Task.Run(async () => {
|
Task.Run(async () => {
|
||||||
var connect = await channel2.ReceivePacketAsync(TimeSpan.Zero, CancellationToken.None);
|
var connect = await channel2.ReceivePacketAsync(TimeSpan.Zero, CancellationToken.None);
|
||||||
await channel2.SendPacketAsync(new MqttV3ConnAckPacket() { ConnectReturnCode = Protocol.MqttConnectReturnCode.ConnectionRefusedNotAuthorized }, CancellationToken.None);
|
await channel2.SendPacketAsync(new MqttConnAckPacket { ConnectReturnCode = Protocol.MqttConnectReturnCode.ConnectionRefusedNotAuthorized }, CancellationToken.None);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var fake = new TestMqttCommunicationAdapterFactory(channel);
|
var fake = new TestMqttCommunicationAdapterFactory(channel);
|
||||||
|
|
||||||
var client = new MqttClient(fake, new MqttNetLogger());
|
var client = new MqttClient(fake, new MqttNetLogger());
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|||||||
using MQTTnet.Adapter;
|
using MQTTnet.Adapter;
|
||||||
using MQTTnet.Internal;
|
using MQTTnet.Internal;
|
||||||
using MQTTnet.Packets;
|
using MQTTnet.Packets;
|
||||||
using MQTTnet.Packets.V3;
|
|
||||||
using MQTTnet.Protocol;
|
using MQTTnet.Protocol;
|
||||||
using MQTTnet.Serializer;
|
using MQTTnet.Serializer;
|
||||||
|
|
||||||
@@ -108,7 +107,7 @@ namespace MQTTnet.Core.Tests
|
|||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void SerializeV311_MqttConnAckPacket()
|
public void SerializeV311_MqttConnAckPacket()
|
||||||
{
|
{
|
||||||
var p = new MqttV3ConnAckPacket
|
var p = new MqttConnAckPacket
|
||||||
{
|
{
|
||||||
IsSessionPresent = true,
|
IsSessionPresent = true,
|
||||||
ConnectReturnCode = MqttConnectReturnCode.ConnectionRefusedNotAuthorized
|
ConnectReturnCode = MqttConnectReturnCode.ConnectionRefusedNotAuthorized
|
||||||
@@ -120,7 +119,7 @@ namespace MQTTnet.Core.Tests
|
|||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void SerializeV310_MqttConnAckPacket()
|
public void SerializeV310_MqttConnAckPacket()
|
||||||
{
|
{
|
||||||
var p = new MqttV3ConnAckPacket
|
var p = new MqttConnAckPacket
|
||||||
{
|
{
|
||||||
ConnectReturnCode = MqttConnectReturnCode.ConnectionRefusedNotAuthorized
|
ConnectReturnCode = MqttConnectReturnCode.ConnectionRefusedNotAuthorized
|
||||||
};
|
};
|
||||||
@@ -131,7 +130,7 @@ namespace MQTTnet.Core.Tests
|
|||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void DeserializeV311_MqttConnAckPacket()
|
public void DeserializeV311_MqttConnAckPacket()
|
||||||
{
|
{
|
||||||
var p = new MqttV3ConnAckPacket
|
var p = new MqttConnAckPacket
|
||||||
{
|
{
|
||||||
IsSessionPresent = true,
|
IsSessionPresent = true,
|
||||||
ConnectReturnCode = MqttConnectReturnCode.ConnectionRefusedNotAuthorized
|
ConnectReturnCode = MqttConnectReturnCode.ConnectionRefusedNotAuthorized
|
||||||
@@ -143,7 +142,7 @@ namespace MQTTnet.Core.Tests
|
|||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void DeserializeV310_MqttConnAckPacket()
|
public void DeserializeV310_MqttConnAckPacket()
|
||||||
{
|
{
|
||||||
var p = new MqttV3ConnAckPacket
|
var p = new MqttConnAckPacket
|
||||||
{
|
{
|
||||||
ConnectReturnCode = MqttConnectReturnCode.ConnectionRefusedNotAuthorized
|
ConnectReturnCode = MqttConnectReturnCode.ConnectionRefusedNotAuthorized
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user