Interface BufferManagerRead

All Known Implementing Classes:
BufferManagerReadGrow, BufferManagerReadStream

public interface BufferManagerRead
  • Method Details

    • processFragment

      void processFragment(ByteBuffer byteBuffer, FragmentMessage header)
      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.
      Parameters:
      byteBuffer - buffer to read from
      header - header of fragment
    • underflow

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

      boolean isFragmentOnUnderflow()
      Returns true if this buffer manager reads fragments when it underflows.
      Returns:
      if fragments will be read.
      See Also:
    • init

      void init(Message header)
      Called once after creating this buffer manager and before it begins processing.
      Parameters:
      header - message header
    • getMarkAndResetHandler

      MarkAndResetHandler getMarkAndResetHandler()
      Returns the mark/reset handler for this stream.
      Returns:
      The mark/reset handler for this stream.
    • cancelProcessing

      void cancelProcessing(int requestId)
      Signals that the processing be cancelled.
      Parameters:
      requestId - ID of the request to cancel
    • close

      void close(ByteBuffer byteBuffer)
      Close BufferManagerRead and perform any outstanding cleanup.
      Parameters:
      byteBuffer - buffer to return to the pool