Class PacketProcessorBase<T extends BookieProtocol.Request>

java.lang.Object
org.apache.bookkeeper.proto.PacketProcessorBase<T>
All Implemented Interfaces:
Runnable
Direct Known Subclasses:
ReadEntryProcessor, WriteEntryProcessor

abstract class PacketProcessorBase<T extends BookieProtocol.Request> extends Object implements Runnable
A base class for bookeeper packet processors.
  • Field Details

  • Constructor Details

    • PacketProcessorBase

      PacketProcessorBase()
  • Method Details

    • init

      protected void init(T request, BookieRequestHandler requestHandler, BookieRequestProcessor requestProcessor)
    • reset

      protected void reset()
    • isVersionCompatible

      protected boolean isVersionCompatible()
    • sendWriteReqResponse

      protected void sendWriteReqResponse(int rc, Object response, OpStatsLogger statsLogger)
    • sendReadReqResponse

      protected void sendReadReqResponse(int rc, Object response, OpStatsLogger statsLogger, boolean throttle)
    • sendResponse

      protected void sendResponse(int rc, Object response, OpStatsLogger statsLogger)
    • sendResponseAndWait

      protected void sendResponseAndWait(int rc, Object response, OpStatsLogger statsLogger)
      Write on the channel and wait until the write is completed.

      That will make the thread to get blocked until we're able to write everything on the TCP stack, providing auto-throttling and avoiding using too much memory when handling read-requests.

    • run

      public void run()
      Specified by:
      run in interface Runnable
    • processPacket

      protected abstract void processPacket()