org.jgroups.blocks

## Class RequestCorrelator.Header

- java.lang.Object
- - org.jgroups.Header
  - - org.jgroups.blocks.RequestCorrelator.Header

- All Implemented Interfaces:
    Streamable
  Direct Known Subclasses:
    RequestCorrelator.MultiDestinationHeader
  Enclosing class:
    RequestCorrelator

      public static class RequestCorrelator.Header
      extends Header

  The header for `RequestCorrelator` messages

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `short` | `corrId` The unique ID of the associated `RequestCorrelator`
    `long` | `id` The id of this request to distinguish among other requests from the same `RequestCorrelator`
    `static byte` | `REQ`
    `static byte` | `RSP`
    `boolean` | `rsp_expected` msg is synchronous if true
    `byte` | `type` Type of header: request or reply

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RequestCorrelator.Header()` Used for externalization
    `RequestCorrelator.Header(byte type, long id, boolean rsp_expected, short corr_id)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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

    - #### REQ

          public static final byte REQ

      See Also:
        Constant Field Values

    - #### RSP

          public static final byte RSP

      See Also:
        Constant Field Values

    - #### type

          public byte type

      Type of header: request or reply

    - #### id

          public long id

      The id of this request to distinguish among other requests from the same `RequestCorrelator`

    - #### rsp_expected

          public boolean rsp_expected

      msg is synchronous if true

    - #### corrId

          public short corrId

      The unique ID of the associated `RequestCorrelator`

  - ### Constructor Detail

    - #### RequestCorrelator.Header

          public RequestCorrelator.Header()

      Used for externalization

    - #### RequestCorrelator.Header

          public RequestCorrelator.Header(byte type,
                                  long id,
                                  boolean rsp_expected,
                                  short corr_id)

      Parameters:
        `type` - type of header (`REQ`/`RSP`)
        `id` - id of this header relative to ids of other requests originating from the same correlator
        `rsp_expected` - whether it's a sync or async request
        `corr_id` - The ID of the `RequestCorrelator` from which

  - ### Method Detail

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` 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`

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

Copyright © 1998-2009 Bela Ban / Red Hat. All Rights Reserved.