Remove dedicated V3 messages.

This commit is contained in:
Christian Kratky
2018-11-18 22:04:39 +01:00
parent 2fbb44ec66
commit 3db22eea51
9 changed files with 31 additions and 42 deletions
+2 -3
View File
@@ -9,7 +9,6 @@ using MQTTnet.Diagnostics;
using MQTTnet.Exceptions;
using MQTTnet.Internal;
using MQTTnet.Packets;
using MQTTnet.Packets.V3;
using MQTTnet.Protocol;
namespace MQTTnet.Client
@@ -194,7 +193,7 @@ namespace MQTTnet.Client
_adapter = null;
}
private async Task<MqttV3ConnAckPacket> AuthenticateAsync(MqttApplicationMessage willApplicationMessage, CancellationToken cancellationToken)
private async Task<MqttConnAckPacket> AuthenticateAsync(MqttApplicationMessage willApplicationMessage, CancellationToken cancellationToken)
{
var connectPacket = new MqttConnectPacket
{
@@ -206,7 +205,7 @@ namespace MQTTnet.Client
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)
{
throw new MqttConnectingFailedException(response.ConnectReturnCode);
+15 -2
View File
@@ -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 MessageExpiryInterval(uint value)
public MessageExpiryIntervalProperty(uint 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.Linq;
using MQTTnet.Adapter;
using MQTTnet.Packets.V3;
namespace MQTTnet.Serializer
{
@@ -80,7 +79,7 @@ namespace MQTTnet.Serializer
switch (packet)
{
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 MqttPingReqPacket _: return SerializeEmptyPacket(MqttControlPacketType.PingReq);
case MqttPingRespPacket _: return SerializeEmptyPacket(MqttControlPacketType.PingResp);
@@ -285,7 +284,7 @@ namespace MQTTnet.Serializer
{
ThrowIfBodyIsEmpty(body);
var packet = new MqttV3ConnAckPacket();
var packet = new MqttConnAckPacket();
body.ReadByte(); // Reserved.
packet.ConnectReturnCode = (MqttConnectReturnCode)body.ReadByte();
@@ -379,7 +378,7 @@ namespace MQTTnet.Serializer
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((byte)packet.ConnectReturnCode);
@@ -1,6 +1,5 @@
using MQTTnet.Exceptions;
using MQTTnet.Packets;
using MQTTnet.Packets.V3;
using MQTTnet.Protocol;
namespace MQTTnet.Serializer
@@ -69,7 +68,7 @@ namespace MQTTnet.Serializer
return MqttPacketWriter.BuildFixedHeader(MqttControlPacketType.Connect);
}
protected override byte SerializeConnAckPacket(MqttV3ConnAckPacket packet, MqttPacketWriter packetWriter)
protected override byte SerializeConnAckPacket(MqttConnAckPacket packet, MqttPacketWriter packetWriter)
{
byte connectAcknowledgeFlags = 0x0;
if (packet.IsSessionPresent)
@@ -87,7 +86,7 @@ namespace MQTTnet.Serializer
{
ThrowIfBodyIsEmpty(body);
var packet = new MqttV3ConnAckPacket();
var packet = new MqttConnAckPacket();
var acknowledgeFlags = body.ReadByte();
@@ -9,7 +9,6 @@ using MQTTnet.Diagnostics;
using MQTTnet.Exceptions;
using MQTTnet.Internal;
using MQTTnet.Packets;
using MQTTnet.Packets.V3;
using MQTTnet.Protocol;
namespace MQTTnet.Server
@@ -229,7 +228,7 @@ namespace MQTTnet.Server
if (connectReturnCode != MqttConnectReturnCode.ConnectionAccepted)
{
await clientAdapter.SendPacketAsync(
new MqttV3ConnAckPacket
new MqttConnAckPacket
{
ConnectReturnCode = connectReturnCode
},
@@ -242,7 +241,7 @@ namespace MQTTnet.Server
var clientSession = result.Session;
await clientAdapter.SendPacketAsync(
new MqttV3ConnAckPacket
new MqttConnAckPacket
{
ConnectReturnCode = connectReturnCode,
IsSessionPresent = result.IsExistingSession
+2 -5
View File
@@ -8,7 +8,6 @@ using MQTTnet.Client;
using MQTTnet.Diagnostics;
using MQTTnet.Exceptions;
using MQTTnet.Packets;
using MQTTnet.Packets.V3;
namespace MQTTnet.Core.Tests
{
@@ -51,11 +50,9 @@ namespace MQTTnet.Core.Tests
Task.Run(async () => {
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 client = new MqttClient(fake, new MqttNetLogger());
@@ -7,7 +7,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
using MQTTnet.Adapter;
using MQTTnet.Internal;
using MQTTnet.Packets;
using MQTTnet.Packets.V3;
using MQTTnet.Protocol;
using MQTTnet.Serializer;
@@ -108,7 +107,7 @@ namespace MQTTnet.Core.Tests
[TestMethod]
public void SerializeV311_MqttConnAckPacket()
{
var p = new MqttV3ConnAckPacket
var p = new MqttConnAckPacket
{
IsSessionPresent = true,
ConnectReturnCode = MqttConnectReturnCode.ConnectionRefusedNotAuthorized
@@ -120,7 +119,7 @@ namespace MQTTnet.Core.Tests
[TestMethod]
public void SerializeV310_MqttConnAckPacket()
{
var p = new MqttV3ConnAckPacket
var p = new MqttConnAckPacket
{
ConnectReturnCode = MqttConnectReturnCode.ConnectionRefusedNotAuthorized
};
@@ -131,7 +130,7 @@ namespace MQTTnet.Core.Tests
[TestMethod]
public void DeserializeV311_MqttConnAckPacket()
{
var p = new MqttV3ConnAckPacket
var p = new MqttConnAckPacket
{
IsSessionPresent = true,
ConnectReturnCode = MqttConnectReturnCode.ConnectionRefusedNotAuthorized
@@ -143,7 +142,7 @@ namespace MQTTnet.Core.Tests
[TestMethod]
public void DeserializeV310_MqttConnAckPacket()
{
var p = new MqttV3ConnAckPacket
var p = new MqttConnAckPacket
{
ConnectReturnCode = MqttConnectReturnCode.ConnectionRefusedNotAuthorized
};