Class FixedSizeHeaderReader

java.lang.Object
org.apache.thrift.transport.sasl.FixedSizeHeaderReader
All Implemented Interfaces:
FrameHeaderReader
Direct Known Subclasses:
DataFrameHeaderReader, SaslNegotiationHeaderReader

public abstract class FixedSizeHeaderReader extends Object implements FrameHeaderReader
Headers' size should be predefined.
  • Field Details

    • byteBuffer

      protected final ByteBuffer byteBuffer
  • Constructor Details

    • FixedSizeHeaderReader

      public FixedSizeHeaderReader()
  • Method Details

    • isComplete

      public boolean isComplete()
      Specified by:
      isComplete in interface FrameHeaderReader
      Returns:
      true if this header has all its fields set.
    • clear

      public void clear()
      Description copied from interface: FrameHeaderReader
      Clear the header and make it available to read a new header.
      Specified by:
      clear in interface FrameHeaderReader
    • toBytes

      public byte[] toBytes()
      Specified by:
      toBytes in interface FrameHeaderReader
      Returns:
      The received bytes for the header.
    • read

      public boolean read(TTransport transport) throws TTransportException
      Description copied from interface: FrameHeaderReader
      (Nonblocking) Read fields from underlying transport layer.
      Specified by:
      read in interface FrameHeaderReader
      Parameters:
      transport - underlying transport.
      Returns:
      true if header is complete after read.
      Throws:
      TSaslNegotiationException - if fail to read a valid header of a sasl negotiation message.
      TTransportException - if io error.
    • headerSize

      protected abstract int headerSize()
      Returns:
      Size of the header.
    • onComplete

      protected abstract void onComplete() throws TTransportException
      Actions (e.g. validation) to carry out when the header is complete.
      Throws:
      TTransportException