Interface BufferManagerRead

All Known Implementing Classes:
BufferManagerReadGrow, BufferManagerReadStream

public interface BufferManagerRead
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    cancelProcessing(int requestId)
    Signals that the processing be cancelled.
    void
    close(ByteBuffer byteBuffer)
    Close BufferManagerRead and perform any outstanding cleanup.
    com.sun.corba.ee.impl.encoding.MarkAndResetHandler
    Returns the mark/reset handler for this stream.
    void
    init(Message header)
    Called once after creating this buffer manager and before it begins processing.
    boolean
    Returns true if this buffer manager reads fragments when it underflows.
    void
    Case: Called from ReaderThread on complete message or fragments.
    underflow(ByteBuffer byteBuffer)
    Invoked when we run out of data to read.
  • 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

      com.sun.corba.ee.impl.encoding.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