org.jgroups.protocols

## Class RELAY.RelayHeader

- java.lang.Object
- - org.jgroups.Header
  - - org.jgroups.protocols.RELAY.RelayHeader

All Implemented Interfaces:
  Streamable

Enclosing class:
  RELAY

    public static class RELAY.RelayHeader
    extends Header

### Nested Class Summary

Nested Classes
`static class` `RELAY.RelayHeader.Type`

### Field Summary

Fields
`protected Address` `original_sender`
`protected RELAY.RelayHeader.Type` `type`

### Constructor Summary

Constructors
Constructor and Description
`RELAY.RelayHeader()`

### Method Summary

Methods
`static RELAY.RelayHeader` `create(RELAY.RelayHeader.Type type)`
`static RELAY.RelayHeader` `createDisseminateHeader(Address original_sender)`
`void` `readFrom(java.io.DataInputStream in)` Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed
`int` `size()` To be implemented by subclasses.
`java.lang.String` `toString()`
`void` `writeTo(java.io.DataOutputStream out)` Write the entire state of the current object (including superclasses) to outstream.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### type

    protected RELAY.RelayHeader.Type type

#### original_sender

    protected Address original_sender

### Constructor Detail

#### RELAY.RelayHeader

    public RELAY.RelayHeader()

### Method Detail

#### create

    public static RELAY.RelayHeader create(RELAY.RelayHeader.Type type)

#### createDisseminateHeader

    public static RELAY.RelayHeader createDisseminateHeader(Address original_sender)

#### size

    public int size()

Description copied from class: `Header`
To be implemented by subclasses. Return the size of this object for the serialized version of it. I.e. how many bytes this object takes when flattened into a buffer. This may be different for each instance, or can be the same. This may also just be an estimation. E.g. FRAG uses it on Message to determine whether or not to fragment the message. Fragmentation itself will be accurate, because the entire message will actually be serialized into a byte buffer, so we can determine the exact size.

Specified by:
  `size` in class `Header`

#### writeTo

    public void writeTo(java.io.DataOutputStream out)
                 throws java.io.IOException

Description copied from interface: `Streamable`
Write the entire state of the current object (including superclasses) to outstream. Note that the output stream must not be closed

Throws:
  `java.io.IOException`

#### readFrom

    public void readFrom(java.io.DataInputStream in)
                  throws java.io.IOException,
                         java.lang.IllegalAccessException,
                         java.lang.InstantiationException

Description copied from interface: `Streamable`
Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed

Throws:
  `java.io.IOException`
  `java.lang.IllegalAccessException`
  `java.lang.InstantiationException`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `Header`