Interface BufferManagerRead

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void cancelProcessing​(int requestId)
      Signals that the processing be cancelled.
      void close​(java.nio.ByteBuffer byteBuffer)
      Close BufferManagerRead and perform any outstanding cleanup.
      MarkAndResetHandler getMarkAndResetHandler()
      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 isFragmentOnUnderflow()
      Returns true if this buffer manager reads fragments when it underflows.
      void processFragment​(java.nio.ByteBuffer byteBuffer, FragmentMessage header)
      Case: Called from ReaderThread on complete message or fragments.
      java.nio.ByteBuffer underflow​(java.nio.ByteBuffer byteBuffer)
      Invoked when we run out of data to read.
    • Method Detail

      • processFragment

        void processFragment​(java.nio.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

        java.nio.ByteBuffer underflow​(java.nio.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()
      • isFragmentOnUnderflow

        boolean isFragmentOnUnderflow()
        Returns true if this buffer manager reads fragments when it underflows.
        Returns:
        if fragments will be read.
        See Also:
        underflow(ByteBuffer)
      • 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​(java.nio.ByteBuffer byteBuffer)
        Close BufferManagerRead and perform any outstanding cleanup.
        Parameters:
        byteBuffer - buffer to return to the pool