Class RawMessageImpl

  • All Implemented Interfaces:
    RawMessage, Message

    public class RawMessageImpl
    extends java.lang.Object
    implements RawMessage
    Basic raw message implementation used internally for Message-->RawMessage conversions.
    • Field Detail

      • message

        private final Message message
      • priority

        private final int priority
      • is_no_delay

        private boolean is_no_delay
      • to_remove

        private final Message[] to_remove
    • Constructor Detail

      • RawMessageImpl

        public RawMessageImpl​(Message source,
                              DirectByteBuffer[] raw_payload,
                              int _priority,
                              boolean _is_no_delay,
                              Message[] _to_remove)
        Create a new raw message using the given parameters.
        Parameters:
        source - original message
        raw_payload - headers + original message data
        priority - in queue
        is_no_delay - is an urgent message
        to_remove - message types to auto-remove upon queue
    • Method Detail

      • getID

        public java.lang.String getID()
        Description copied from interface: Message
        Get message id.
        Specified by:
        getID in interface Message
        Returns:
        id
      • getIDBytes

        public byte[] getIDBytes()
        Specified by:
        getIDBytes in interface Message
      • getFeatureID

        public java.lang.String getFeatureID()
        Description copied from interface: Message
        Get the main feature set name this message belongs to.
        Specified by:
        getFeatureID in interface Message
        Returns:
        feature id
      • getFeatureSubID

        public int getFeatureSubID()
        Description copied from interface: Message
        Get the static message sub-id for the feature.
        Specified by:
        getFeatureSubID in interface Message
        Returns:
        sub id
      • getType

        public int getType()
        Description copied from interface: Message
        Get message type.
        Specified by:
        getType in interface Message
        Returns:
        type
      • getVersion

        public byte getVersion()
        Specified by:
        getVersion in interface Message
      • getDescription

        public java.lang.String getDescription()
        Description copied from interface: Message
        Get textual description of this particular message.
        Specified by:
        getDescription in interface Message
        Returns:
        description
      • getData

        public DirectByteBuffer[] getData()
        Description copied from interface: Message
        Get message payload data.
        Specified by:
        getData in interface Message
        Returns:
        message data buffers
      • deserialize

        public Message deserialize​(DirectByteBuffer data,
                                   byte version)
                            throws MessageException
        Description copied from interface: Message
        Create a new instance of this message by decoding the given byte serialization.
        Specified by:
        deserialize in interface Message
        Parameters:
        data - to deserialize
        Returns:
        decoded message instance
        Throws:
        MessageException - if the decoding process fails NOTE: Does not auto-return given direct buffer on thrown exception.
      • getPriority

        public int getPriority()
        Description copied from interface: RawMessage
        Get the message's queue priority.
        Specified by:
        getPriority in interface RawMessage
        Returns:
        priority
      • isNoDelay

        public boolean isNoDelay()
        Description copied from interface: RawMessage
        Is this a no-delay message. No-delay messages are transmitted immediately, i.e. force-flushed out the transport.
        Specified by:
        isNoDelay in interface RawMessage
        Returns:
        true if a no-delay message
      • setNoDelay

        public void setNoDelay()
        Description copied from interface: RawMessage
        Set no-delay for this message
        Specified by:
        setNoDelay in interface RawMessage
      • messagesToRemove

        public Message[] messagesToRemove()
        Description copied from interface: RawMessage
        Get the yet-unsent message types that should be removed before queueing this message for sending.
        Specified by:
        messagesToRemove in interface RawMessage
        Returns:
        message types; null if no types
      • getBaseMessage

        public Message getBaseMessage()
        Description copied from interface: RawMessage
        Get the message this raw message is based upon.
        Specified by:
        getBaseMessage in interface RawMessage
        Returns:
        original message
      • destroy

        public void destroy()
        Description copied from interface: Message
        Destroy the message; i.e. perform cleanup actions.
        Specified by:
        destroy in interface Message