Add a {@link TransportLayer} to the transport, wrapping the input and output process handlers in the state they currently exist. No effect if the given layer was previously added.
the lower bound for the agreed maximum frame size (in bytes).
Processes the provided input.
Get a buffer that can be used to write input data into the transport. Once the client has finished putting into the input buffer, {@link #processInput()} must be called.
Tell the transport to process the data written to the input buffer.
Has the transport produce up to size bytes placing the result into dest beginning at position offset.
Get a read-only byte buffer containing the transport's pending output. Once the client has finished getting from the output buffer, {@link #outputConsumed()} must be called.
Informs the transport that the output buffer returned by {@link #getOutputBuffer()} is finished with, allowing implementation-dependent steps to be performed such as reclaiming buffer space.
Signal the transport to expect SASL frames used to establish a SASL layer prior to performing the AMQP protocol version negotiation. This must first be performed before the transport is used for processing. Subsequent invocations will return the same {@link Sasl} object.
Wrap this transport's output and input to apply SSL encryption and decryption respectively.
Equivalent to {@link #ssl(SslDomain, SslPeerDetails)} but passing null for SslPeerDetails, meaning no SNI detail is sent, hostname verification isn't supported etc when connecting.
Get the maximum frame size for the transport
Allows overriding the initial remote-max-frame-size to a value greater than the default 512bytes. The value set will be used until such time as the Open frame arrives from the peer and populates the remote max frame size.
Gets the local channel-max value to be advertised to the remote peer
Set the local value of channel-max, to be advertised to the peer on the <a href="http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-open"> Open frame</a> emitted by the transport.
Gets the remote value of channel-max, as advertised by the peer on its <a href="http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-open"> Open frame</a>.
@param timeout local idle timeout in milliseconds
@return local idle timeout in milliseconds
@return remote idle timeout in milliseconds
Prompt the transport to perform work such as idle-timeout/heartbeat handling, and return an absolute deadline in milliseconds that tick must again be called by/at, based on the provided current time in milliseconds, to ensure the periodic work is carried out as necessary.
Configure whether a synthetic Flow event should be emitted when messages are sent, reflecting a change in the credit level on the link that may prompt other action.
Set an upper limit on the size of outgoing frames that will be sent to the peer. Allows constraining the transport not to emit Transfer frames over a given size even when the peers max frame size allows it.
Extended Transport interface providing access to certain methods intended mainly for internal use, or use in extending implementation details not strictly considered part of the public Transport API.