All Implemented Interfaces:
SymbolTypeDecoder, PrimitiveTypeDecoder<Symbol>, StreamTypeDecoder<Symbol>, TypeDecoder<Symbol>

public final class SaslSymbol8TypeDecoder extends AbstractSymbolTypeDecoder
Decoder of AMQP Symbol values from a byte stream, this variant produces the singleton Symbol values from the Symbol objects SASL Symbol cache as opposed to the main Symbol separating Symbols only used during SASL exchanges from those used during the application logic leaving more space for application Symbols in that cache.
  • Field Details

  • Constructor Details

    • SaslSymbol8TypeDecoder

      public SaslSymbol8TypeDecoder()
  • Method Details

    • getTypeCode

      public int getTypeCode()
      Description copied from interface: PrimitiveTypeDecoder
      Returns the AMQP Encoding Code that this primitive type decoder can read.
      Returns:
      the AMQP Encoding Code that this primitive type decoder can read
    • readSize

      public int readSize(ProtonBuffer buffer, DecoderState state) throws DecodeException
      Description copied from interface: TypeDecoder
      Reads the size in bytes of the encoded AMQP type from the given buffer and returns it. Since this methods advances the read position of the provided buffer the caller must either reset that based on a previous mark or they must read the primitive payload manually as the decoder would not be able to read the value as it has no retained state.
      Parameters:
      buffer - the source of encoded data.
      state - the current state of the decoder.
      Returns:
      the size in bytes of the encoded primitive value.
      Throws:
      DecodeException - if an error is encountered while reading the encoded size.
    • readSize

      public int readSize(InputStream stream, StreamDecoderState state) throws DecodeException
      Description copied from interface: StreamTypeDecoder
      Reads the size in bytes of the encoded primitive from the given InputStream and returns it. Since this methods advances the read position of the provided stream the caller must either reset that based on a previous mark or they must read the primitive payload manually as the decoder would not be able to read the value as it has no retained state.
      Parameters:
      stream - the source of encoded data.
      state - the current state of the decoder.
      Returns:
      the size in bytes of the encoded primitive value.
      Throws:
      DecodeException - if an error is encountered while reading the encoded size.
    • getSymbol

      protected Symbol getSymbol(ProtonBuffer buffer, boolean copyOnCreate)
      Description copied from class: AbstractSymbolTypeDecoder
      Gets a singleton Symbol instance that matches the given ProtonBuffer byte view of the Symbol. A subclass can override this to produce the Symbol singleton from a source other than the default which is the general symbol cache.
      Overrides:
      getSymbol in class AbstractSymbolTypeDecoder
      Parameters:
      buffer - The ProtonBuffer version of the Symbol value.
      copyOnCreate - Should the provided buffer be copied during creation of a new Symbol.
      Returns:
      a Symbol that matches the given String.