Interface DeliveryTag

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static class  DeliveryTag.ProtonDeliveryTag
      A default DeliveryTag implementation that can be used by a codec when decoding DeliveryTag instances from the wire.
    • Method Detail

      • tagLength

        int tagLength()
        Returns:
        the total number of bytes needed to represent the given tag.
      • tagBytes

        byte[] tagBytes()
        Returns a view of this DeliveryTag object as a byte array. The returned array may be the actual underlying tag bytes or a synthetic view based on the value used to generate the tag. It is advised not to modify the returned value and copy if such modification are necessary to the caller.
        Returns:
        the underlying tag bytes as a byte array that may or may no be a singleton instance..
      • tagBuffer

        ProtonBuffer tagBuffer()
        Returns a view of this DeliveryTag object as a ProtonBuffer. The returned array may be the actual underlying tag bytes or a synthetic view based on the value used to generate the tag. It is advised not to modify the returned value and copy if such modification are necessary to the caller.
        Returns:
        the ProtonBuffer view of the tag bytes.
      • release

        void release()
        Optional method used by tag implementations that provide pooling of tags. Implementations can do nothing here if no release mechanics are needed.
      • copy

        DeliveryTag copy()
        Create a copy of this delivery tag, the copy should account for any underlying pooling of tags that the tag source's implementation is using.
        Returns:
        a copy of the underlying bytes that compose this delivery tag.
      • writeTo

        void writeTo​(ProtonBuffer buffer)
        Writes the tag as a sequence of bytes into the given buffer in the manner most efficient for the underlying DeliveryTag implementation.
        Parameters:
        buffer - The target buffer where the tag bytes are to be written.