|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.xenqtt.message.MqttMessage
net.sf.xenqtt.message.IdentifiableMqttMessage
net.sf.xenqtt.message.PubMessage
public final class PubMessage
A PUBLISH message is sent by a client to a server for distribution to interested subscribers. Each PUBLISH message is associated with a topic name (also known as the Subject or Channel). This is a hierarchical name space that defines a taxonomy of information sources for which subscribers can register an interest. A message that is published to a specific topic name is delivered to connected subscribers for that topic.
If a client subscribes to one or more topics, any message published to those topics are sent by the server to the client as a PUBLISH message.
Constructor Summary | |
---|---|
PubMessage(ByteBuffer buffer,
int remainingLength,
long receivedTimestamp)
Used to construct a received message. |
|
PubMessage(QoS qos,
boolean retain,
String topicName,
int messageId,
byte[] payload)
Used to construct a message for sending |
Method Summary | |
---|---|
int |
getMessageId()
The message identifier is present in the variable header of the following MQTT messages: PUBLISH, PUBACK, PUBREC, PUBREL, PUBCOMP, SUBSCRIBE, SUBACK, UNSUBSCRIBE, UNSUBACK. |
byte[] |
getPayload()
Contains the data for publishing. |
String |
getTopicName()
This must not contain Topic wildcard characters. |
void |
setMessageId(int messageId)
Sets the message ID |
Methods inherited from class net.sf.xenqtt.message.MqttMessage |
---|
byteBufferToHex, bytesToHex, equals, getMessageType, getQoS, getQoSLevel, getReceivedTimestamp, getRemainingLength, isAck, isAckable, isDuplicate, isRetain, setDuplicateFlag, toString |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public PubMessage(ByteBuffer buffer, int remainingLength, long receivedTimestamp)
public PubMessage(QoS qos, boolean retain, String topicName, int messageId, byte[] payload)
Method Detail |
---|
public String getTopicName()
When received by a client that subscribed using wildcard characters, this string will be the absolute topic specified by the originating publisher and not the subscription string used by the client.
public int getMessageId()
IdentifiableMqttMessage
The Message Identifier (Message ID) field is only present in messages where the QoS bits in the fixed header indicate QoS levels 1 or 2. See section on Quality of Service levels and flows for more information.
The Message ID is a 16-bit unsigned integer that must be unique amongst the set of "in flight" messages in a particular direction of communication. It typically increases by exactly one from one message to the next, but is not required to do so.
A client will maintain its own list of Message IDs separate to the Message IDs used by the server it is connected to. It is possible for a client to send a PUBLISH with Message ID 1 at the same time as receiving a PUBLISH with Message ID 1.
Do not use Message ID 0. It is reserved as an invalid Message ID.
Override this implementation for messages where the message ID is not at offset 2 of a fixed length message
getMessageId
in class IdentifiableMqttMessage
IdentifiableMqttMessage.getMessageId()
public void setMessageId(int messageId)
IdentifiableMqttMessage
Override this implementation for messages where the message ID is not at offset 2 of a fixed length message
setMessageId
in class IdentifiableMqttMessage
IdentifiableMqttMessage.setMessageId(int)
public byte[] getPayload()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |