org.jgroups.protocols

## Class FD_SOCK.FdHeader

- java.lang.Object
- - org.jgroups.Header
  - - org.jgroups.protocols.FD_SOCK.FdHeader

All Implemented Interfaces:
  Streamable

Enclosing class:
  FD_SOCK

    public static class FD_SOCK.FdHeader
    extends Header

### Field Summary

Fields
`static byte` `GET_CACHE`
`static byte` `GET_CACHE_RSP`
`static byte` `I_HAVE_SOCK`
`static byte` `SUSPECT`
`static byte` `WHO_HAS_SOCK`

### Constructor Summary

Constructors
Constructor and Description
`FD_SOCK.FdHeader()`
`FD_SOCK.FdHeader(byte type)`
`FD_SOCK.FdHeader(byte type, Address mbr)`
`FD_SOCK.FdHeader(byte type, Address mbr, IpAddress sock_addr)`
`FD_SOCK.FdHeader(byte type, java.util.Map<Address,IpAddress> cachedAddrs)`
`FD_SOCK.FdHeader(byte type, java.util.Set<Address> mbrs)`

### Method Summary

Methods
`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()`
`static java.lang.String` `type2String(byte type)`
`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

#### SUSPECT

    public static final byte SUSPECT

See Also:
  Constant Field Values

#### WHO_HAS_SOCK

    public static final byte WHO_HAS_SOCK

See Also:
  Constant Field Values

#### I_HAVE_SOCK

    public static final byte I_HAVE_SOCK

See Also:
  Constant Field Values

#### GET_CACHE

    public static final byte GET_CACHE

See Also:
  Constant Field Values

#### GET_CACHE_RSP

    public static final byte GET_CACHE_RSP

See Also:
  Constant Field Values

### Constructor Detail

#### FD_SOCK.FdHeader

    public FD_SOCK.FdHeader()

#### FD_SOCK.FdHeader

    public FD_SOCK.FdHeader(byte type)

#### FD_SOCK.FdHeader

    public FD_SOCK.FdHeader(byte type,
                    Address mbr)

#### FD_SOCK.FdHeader

    public FD_SOCK.FdHeader(byte type,
                    Address mbr,
                    IpAddress sock_addr)

#### FD_SOCK.FdHeader

    public FD_SOCK.FdHeader(byte type,
                    java.util.Set<Address> mbrs)

#### FD_SOCK.FdHeader

    public FD_SOCK.FdHeader(byte type,
                    java.util.Map<Address,IpAddress> cachedAddrs)

### Method Detail

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `Header`

#### type2String

    public static java.lang.String type2String(byte type)

#### 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`