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 Publish Received Message.
11 : class MqttPublishReceivedMessage extends MqttMessage {
12 : /// Gets or sets the variable header contents. Contains extended metadata about the message
13 : MqttPublishReceivedVariableHeader variableHeader;
14 :
15 : /// Initializes a new instance of the MqttPublishReceivedMessage class.
16 2 : MqttPublishReceivedMessage() {
17 6 : this.header = new MqttHeader().asType(MqttMessageType.publishReceived);
18 4 : this.variableHeader = new MqttPublishReceivedVariableHeader();
19 : }
20 :
21 : /// Initializes a new instance of the MqttPublishReceivedMessage class.
22 : MqttPublishReceivedMessage.fromByteBuffer(MqttHeader header,
23 1 : MqttByteBuffer messageStream) {
24 1 : this.header = header;
25 1 : this.variableHeader =
26 1 : new MqttPublishReceivedVariableHeader.fromByteBuffer(messageStream);
27 : }
28 :
29 : /// Writes the message to the supplied stream.
30 : void writeTo(MqttByteBuffer messageStream) {
31 4 : this.header.writeTo(this.variableHeader.getWriteLength(), messageStream);
32 2 : this.variableHeader.writeTo(messageStream);
33 : }
34 :
35 : /// Sets the message identifier of the MqttMessage.
36 : MqttPublishReceivedMessage withMessageIdentifier(int messageIdentifier) {
37 4 : this.variableHeader.messageIdentifier = messageIdentifier;
38 : return this;
39 : }
40 :
41 : String toString() {
42 2 : final StringBuffer sb = new StringBuffer();
43 4 : sb.write(super.toString());
44 6 : sb.writeln(variableHeader.toString());
45 2 : return sb.toString();
46 : }
47 : }
|