Class Message

  • All Implemented Interfaces:
    AutoCloseable

    public class Message
    extends CrtResource
    Wrapper around an instance of aws-event-stream-message. It's auto closable, so be sure to call close when finished with the object.
    • Constructor Detail

      • Message

        public Message​(List<Header> headers,
                       byte[] payload)
        Creates a message using headers and payload.
        Parameters:
        headers - list of headers to include in the message's header block. Can be null.
        payload - payload body to include in the message's payload block. Can be null.
    • Method Detail

      • getMessageBuffer

        public ByteBuffer getMessageBuffer()
        Get the binary format of this message (i.e. for sending across the wire manually)
        Returns:
        ByteBuffer wrapping the underlying message data. This buffer is only valid as long as the message itself is valid.
      • releaseNativeHandle

        protected void releaseNativeHandle()
        Description copied from class: CrtResource
        Required override method that must begin the release process of the acquired native handle
        Specified by:
        releaseNativeHandle in class CrtResource
      • canReleaseReferencesImmediately

        protected boolean canReleaseReferencesImmediately()
        Description copied from class: CrtResource
        Override that determines whether a resource releases its dependencies at the same time the native handle is released or if it waits. Resources with asynchronous shutdown processes should override this with false, and establish a callback from native code that invokes releaseReferences() when the asynchronous shutdown process has completed. See HttpClientConnectionManager for an example.
        Specified by:
        canReleaseReferencesImmediately in class CrtResource
        Returns:
        true if this resource releases synchronously, false if this resource performs async shutdown