Class BufferManagerReadGrow

java.lang.Object
com.sun.corba.ee.impl.encoding.BufferManagerReadGrow
All Implemented Interfaces:
BufferManagerRead

public class BufferManagerReadGrow extends Object implements BufferManagerRead
  • Constructor Details

    • BufferManagerReadGrow

      public BufferManagerReadGrow()
  • Method Details

    • processFragment

      public void processFragment(ByteBuffer byteBuffer, FragmentMessage header)
      Description copied from interface: BufferManagerRead
      Case: Called from ReaderThread on complete message or fragments. The given buffer may be entire message or a fragment. The ReaderThread finds the ReadBufferManager instance either in in a fragment map (when collecting - GIOP 1.2 phase 1) or in an active server requests map (when streaming - GIOP 1.2 phase 2). As a model for implementation see IIOPInputStream's constructor of the same name. There are going to be some variations.
      Specified by:
      processFragment in interface BufferManagerRead
      Parameters:
      byteBuffer - buffer to read from
      header - header of fragment
    • init

      public void init(Message msg)
      Description copied from interface: BufferManagerRead
      Called once after creating this buffer manager and before it begins processing.
      Specified by:
      init in interface BufferManagerRead
      Parameters:
      msg - message header
    • underflow

      public ByteBuffer underflow(ByteBuffer byteBuffer)
      Description copied from interface: BufferManagerRead
      Invoked when we run out of data to read. Obtains more data from the stream.
      Specified by:
      underflow in interface BufferManagerRead
      Parameters:
      byteBuffer - Current buffer, to return to pool
      Returns:
      Buffer containing new data
      See Also:
    • isFragmentOnUnderflow

      public boolean isFragmentOnUnderflow()
      Description copied from interface: BufferManagerRead
      Returns true if this buffer manager reads fragments when it underflows.
      Specified by:
      isFragmentOnUnderflow in interface BufferManagerRead
      Returns:
      if fragments will be read.
      See Also:
    • cancelProcessing

      public void cancelProcessing(int requestId)
      Description copied from interface: BufferManagerRead
      Signals that the processing be cancelled.
      Specified by:
      cancelProcessing in interface BufferManagerRead
      Parameters:
      requestId - ID of the request to cancel
    • getMarkAndResetHandler

      public com.sun.corba.ee.impl.encoding.MarkAndResetHandler getMarkAndResetHandler()
      Description copied from interface: BufferManagerRead
      Returns the mark/reset handler for this stream.
      Specified by:
      getMarkAndResetHandler in interface BufferManagerRead
      Returns:
      The mark/reset handler for this stream.
    • mark

      public void mark(com.sun.corba.ee.impl.encoding.RestorableInputStream is)
    • fragmentationOccured

      public void fragmentationOccured(ByteBuffer byteBuffer)
    • reset

      public void reset()
    • close

      public void close(ByteBuffer byteBuffer)
      Description copied from interface: BufferManagerRead
      Close BufferManagerRead and perform any outstanding cleanup.
      Specified by:
      close in interface BufferManagerRead
      Parameters:
      byteBuffer - buffer to return to the pool