Class NakAckHeader

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

    public class NakAckHeader
    extends Header
    implements Streamable
    Version:
    $Id: NakAckHeader.java,v 1.21 2007/08/20 10:46:53 belaban Exp $
    Author:
    Bela Ban
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      NakAckHeader()  
      NakAckHeader​(byte type, long seqno)
      Constructor for regular messages
      NakAckHeader​(byte type, long low, long high)
      Constructor for retransmit requests/responses (low and high define the range of msgs)
      NakAckHeader​(byte type, long low, long high, Address sender)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      NakAckHeader copy()  
      void readExternal​(java.io.ObjectInput in)  
      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 type2Str​(byte t)  
      void writeExternal​(java.io.ObjectOutput out)  
      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
    • Constructor Detail

      • NakAckHeader

        public NakAckHeader()
      • NakAckHeader

        public NakAckHeader​(byte type,
                            long seqno)
        Constructor for regular messages
      • NakAckHeader

        public NakAckHeader​(byte type,
                            long low,
                            long high)
        Constructor for retransmit requests/responses (low and high define the range of msgs)
      • NakAckHeader

        public NakAckHeader​(byte type,
                            long low,
                            long high,
                            Address sender)
    • Method Detail

      • writeExternal

        public void writeExternal​(java.io.ObjectOutput out)
                           throws java.io.IOException
        Specified by:
        writeExternal in interface java.io.Externalizable
        Throws:
        java.io.IOException
      • readExternal

        public void readExternal​(java.io.ObjectInput in)
                          throws java.io.IOException,
                                 java.lang.ClassNotFoundException
        Specified by:
        readExternal in interface java.io.Externalizable
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException
      • 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
        Specified by:
        writeTo in interface Streamable
        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
        Specified by:
        readFrom in interface Streamable
        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.
        Overrides:
        size in class Header
      • type2Str

        public static java.lang.String type2Str​(byte t)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class Header