public class CensusMessage extends AbstractAdminMessage
CLASSIFIER_ADD_SUBSCRIPTION, CLASSIFIER_BOW_DOWN_TO_NEW_KING, CLASSIFIER_CENSUS_MESSAGE, CLASSIFIER_CLOSE_SERVER_CONNECTION, CLASSIFIER_DISCOVERED_DEVICE, CLASSIFIER_FINISHED_HANDSHAKE, CLASSIFIER_KEEP_ALIVE_MESSAGE, CLASSIFIER_NEW_PRINCE_MESSAGE, CLASSIFIER_PRINCE_ACK, CLASSIFIER_PRINCE_FOUND_A_KING_MESSAGE, CLASSIFIER_REMOVE_SUBSCRIPTION, CLASSIFIER_SERVER_CONNECTION_AVAILABLE, CLASSIFIER_SERVER_CONNECTION_DOWN, CLASSIFIER_SERVER_CONNECTION_RELAY_PAYLOAD, CLASSIFIER_STRING_MESSAGE, gson, HEADER_LENGTH
Constructor and Description |
---|
CensusMessage(BlaubotMessage rawMessage) |
CensusMessage(java.util.Map<java.lang.String,State> deviceStates) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj) |
java.lang.String |
extractKingUniqueId()
Extracts the king's unique id from the device state map
|
java.lang.String |
extractPrinceUniqueId()
Extracts the prince's unique id from the device state map (if possible)
|
java.util.Map<java.lang.String,State> |
getDeviceStates() |
int |
hashCode() |
static void |
main(java.lang.String[] args) |
protected byte[] |
payloadToBytes()
Gets this message's byte representation (NOT including the classifier)
|
protected void |
setUpFromBytes(java.nio.ByteBuffer messagePayloadAsBytes)
Should set the message's attributes based on the message's payload.
|
java.lang.String |
toString() |
classifierAndPayloadBytes, getClassifier, setClassifier, toBlaubotMessage
public CensusMessage(java.util.Map<java.lang.String,State> deviceStates)
public CensusMessage(BlaubotMessage rawMessage)
public static void main(java.lang.String[] args)
protected byte[] payloadToBytes()
AbstractAdminMessage
payloadToBytes
in class AbstractAdminMessage
protected void setUpFromBytes(java.nio.ByteBuffer messagePayloadAsBytes)
AbstractAdminMessage
ByteBuffer
contains the classifier bytes but it's current
index will be set beyond that.setUpFromBytes
in class AbstractAdminMessage
messagePayloadAsBytes
- a ByteBuffer wrapped around the message's payload with it's current index set beyond the classifier bytespublic java.util.Map<java.lang.String,State> getDeviceStates()
public java.lang.String extractPrinceUniqueId()
public java.lang.String extractKingUniqueId()
public java.lang.String toString()
toString
in class java.lang.Object
public int hashCode()
hashCode
in class AbstractAdminMessage
public boolean equals(java.lang.Object obj)
equals
in class AbstractAdminMessage