private static Connect CreateConnectPacket(MqttConnectionSettings connectionSettings) { var flags = ConnectFlags.None; if (connectionSettings.CleanSession) { flags |= ConnectFlags.CleanSession; } var connect = new Connect { ClientId = connectionSettings.ClientId, KeepAlive = connectionSettings.KeepAlive, Flags = flags }; if (connectionSettings.WillMessageSettings != null) { connect.Flags |= ConnectFlags.Will; connect.WillTopic = connectionSettings.WillMessageSettings.Topic; connect.WillMessage = connectionSettings.WillMessageSettings.Message; } return(connect); }
public static void SendConnectionRequest(this IForwarder forwarder, MqttConnectionSettings connectionSettings) { var connectPacket = CreateConnectPacket(connectionSettings); forwarder.Dispatch(connectPacket); }