Line data Source code
1 : /*
2 : * Package : mqtt_client
3 : * Author : S. Hamblett <steve.hamblett@linux.com>
4 : * Date : 19/06/2017
5 : * Copyright : S.Hamblett
6 : */
7 :
8 : part of mqtt_client;
9 :
10 : /// Implementation of an MQTT Unsubscribe Ack Message.
11 : class MqttUnsubscribeAckMessage extends MqttMessage {
12 : /// Gets or sets the variable header contents. Contains extended metadata about the message
13 : MqttUnsubscribeAckVariableHeader variableHeader;
14 :
15 : /// Initializes a new instance of the MqttUnsubscribeAckMessage class.
16 2 : MqttUnsubscribeAckMessage() {
17 6 : this.header = new MqttHeader().asType(MqttMessageType.unsubscribeAck);
18 4 : this.variableHeader = new MqttUnsubscribeAckVariableHeader();
19 : }
20 :
21 : /// Initializes a new instance of the MqttUnsubscribeAckMessage class.
22 : MqttUnsubscribeAckMessage.fromByteBuffer(MqttHeader header,
23 1 : MqttByteBuffer messageStream) {
24 1 : this.header = header;
25 1 : readFrom(messageStream);
26 : }
27 :
28 : /// Writes the message to the supplied stream.
29 : void writeTo(MqttByteBuffer messageStream) {
30 4 : this.header.writeTo(this.variableHeader.getWriteLength(), messageStream);
31 2 : this.variableHeader.writeTo(messageStream);
32 : }
33 :
34 : /// Reads a message from the supplied stream.
35 : void readFrom(MqttByteBuffer messageStream) {
36 1 : this.variableHeader =
37 1 : new MqttUnsubscribeAckVariableHeader.fromByteBuffer(messageStream);
38 : }
39 :
40 : /// Sets the message identifier on the subscribe message.
41 : MqttUnsubscribeAckMessage withMessageIdentifier(int messageIdentifier) {
42 4 : this.variableHeader.messageIdentifier = messageIdentifier;
43 : return this;
44 : }
45 :
46 : String toString() {
47 1 : final StringBuffer sb = new StringBuffer();
48 2 : sb.write(super.toString());
49 3 : sb.writeln(variableHeader.toString());
50 1 : return sb.toString();
51 : }
52 : }
|