Class ByteMessage

  • All Implemented Interfaces:
    java.io.Externalizable, java.io.Serializable

    public class ByteMessage
    extends java.lang.Object
    implements java.io.Externalizable
    A byte message is not serialized and deserialized by the channel instead it is sent as a byte array
    By default Tribes uses java serialization when it receives an object to be sent over the wire. Java serialization is not the most efficient of serializing data, and Tribes might not even have access to the correct class loaders to deserialize the object properly.
    The ByteMessage class is a class where the channel when it receives it will not attempt to perform serialization, instead it will simply stream the getMessage() bytes.
    If you are using multiple applications on top of Tribes you should add some sort of header so that you can decide with the ChannelListener.accept() whether this message was intended for you.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      ByteMessage()
      Creates an empty byte message Constructor also for deserialization
      ByteMessage​(byte[] data)
      Creates a byte message with
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] getMessage()
      Returns the message contents of this byte message
      void readExternal​(java.io.ObjectInput in)  
      void setMessage​(byte[] message)
      Sets the message contents of this byte message
      void writeExternal​(java.io.ObjectOutput out)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ByteMessage

        public ByteMessage()
        Creates an empty byte message Constructor also for deserialization
      • ByteMessage

        public ByteMessage​(byte[] data)
        Creates a byte message with
        Parameters:
        data - byte[] - the message contents
    • Method Detail

      • getMessage

        public byte[] getMessage()
        Returns the message contents of this byte message
        Returns:
        byte[] - message contents, can be null
      • setMessage

        public void setMessage​(byte[] message)
        Sets the message contents of this byte message
        Parameters:
        message - byte[]
      • readExternal

        public void readExternal​(java.io.ObjectInput in)
                          throws java.io.IOException
        Specified by:
        readExternal in interface java.io.Externalizable
        Parameters:
        in - ObjectInput
        Throws:
        java.io.IOException - An IO error occurred
        See Also:
        Externalizable.readExternal(java.io.ObjectInput)
      • writeExternal

        public void writeExternal​(java.io.ObjectOutput out)
                           throws java.io.IOException
        Specified by:
        writeExternal in interface java.io.Externalizable
        Parameters:
        out - ObjectOutput
        Throws:
        java.io.IOException - An IO error occurred
        See Also:
        Externalizable.writeExternal(java.io.ObjectOutput)