@Immutable @ThreadSafe public abstract class Message extends Object implements OpenLcb
Messages (and therefore all subtypes) are immutable once created.
A Message works with a MessageDecoder
object in a double dispatch
pattern to do message specific-processing in e.g. a node implementation.
MessageDecoder
Modifier and Type | Field and Description |
---|---|
(package private) NodeID |
sourceNodeID |
MTI_CONSUMER_IDENTIFIED, MTI_DATAGRAM, MTI_DATAGRAM_RCV_OK, MTI_DATAGRAM_REJECTED, MTI_IDENTIFY_CONSUMERS, MTI_IDENTIFY_CONSUMERS_RANGE, MTI_IDENTIFY_EVENTS, MTI_IDENTIFY_PRODUCERS, MTI_IDENTIFY_PRODUCERS_RANGE, MTI_INITIALIZATION_COMPLETE, MTI_LEARN_EVENT, MTI_OPT_INT_REJECTED, MTI_PC_EVENT_REPORT, MTI_PRODUCER_IDENTIFIED, MTI_PROTOCOL_IDENT_REPLY, MTI_PROTOCOL_IDENT_REQUEST, MTI_SIMPLE_NODE_IDENT_REPLY, MTI_SIMPLE_NODE_IDENT_REQUEST, MTI_STREAM_DATA_COMPLETE, MTI_STREAM_DATA_PROCEED, MTI_STREAM_DATA_SEND, MTI_STREAM_INIT_REPLY, MTI_STREAM_INIT_REQUEST, MTI_VERIFIED_NID, MTI_VERIFY_NID
Modifier | Constructor and Description |
---|---|
protected |
Message() |
|
Message(NodeID source) |
Modifier and Type | Method and Description |
---|---|
void |
applyTo(MessageDecoder decoder,
Connection sender)
Implement message-type-specific
processing when this message
is received by a node.
|
boolean |
equals(Object o)
To be equal, messages have to have the
same type and content
|
abstract int |
getMTI() |
NodeID |
getSourceNodeID() |
int |
hashCode() |
String |
toString() |
NodeID sourceNodeID
public Message(NodeID source)
protected Message()
public NodeID getSourceNodeID()
public void applyTo(MessageDecoder decoder, Connection sender)
Default is to do nothing.
public boolean equals(Object o)
public abstract int getMTI()
Information on copyright, trademarks and licenses is linked here.
Site hosted by: