Interface ProtocolInputHandler

All Known Implementing Classes:
AMQPInputHandler, RawInputHandler, SMQPInputHandler

public interface ProtocolInputHandler
A ProtocolInputHandler receives bytes in form of byte arrays from the Network Swiftlet. Implementing classes handle everything protocol specific and detect whether a so-called chunk is completed. That is, for example, if there is a protocol which receives Strings, where each String is terminated by a '\n', thus a line reader, a chunk is completed when a '\n' is detected. By detecting a completed chunk, the ProtocolInputHandler calls the registered ChunkListener which in turn should process the chunk.

This procedure is required to handle blocking and nonblocking I/O transparently.
Author:
IIT GmbH, Bremen/Germany, Copyright (c) 2000-2002, All Rights Reserved
  • Method Details

    • create

      Factory method to create a new ProtocolInputHandler. For example, a RawInputHandler returns a RawInputHandler here.
      Returns:
      new protocol input handler.
    • createInputBuffer

      void createInputBuffer(int initialSize, int ensureSize)
      Create the input buffer of the protocol handler. The buffer must be created with the initialSize. Each time getBuffer() is called, the buffer must have a remaining size of ensureSize.
      Parameters:
      initialSize - initial size
      ensureSize - ensured size on each getBuffer call
    • getByteBuffer

      ByteBuffer getByteBuffer()
      Returns the protocol handler input buffer.
      Returns:
      buffer.
    • getBuffer

      byte[] getBuffer()
      Returns the protocol handler input buffer.
      Returns:
      buffer.
    • getOffset

      int getOffset()
      Returns the current offset of the input buffer.
      Returns:
      offset.
    • setBytesWritten

      void setBytesWritten(int written)
      Set the number of bytes written into the buffer. Called from the Network Swiftlet after it has read bytes from sockets directly into the buffer+offset.
      Parameters:
      written - number of bytes written
    • setChunkListener

      void setChunkListener(ChunkListener listener)
      Set the ChunkListener. The ChunkListener is implemented by the Network Swiftlet and will be set from it.
      Parameters:
      listener - listener.