Gets the local channel-max value to be advertised to the remote peer
@return local idle timeout in milliseconds
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.
Get the maximum frame size for the transport
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.
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>.
@return remote idle timeout in milliseconds
Processes the provided input.
Has the transport produce up to size bytes placing the result into dest beginning at position offset.
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.
Tell the transport to process the data written to the input buffer.
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.
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.
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.
@param timeout local idle timeout in milliseconds
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.
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.
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.
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.
the lower bound for the agreed maximum frame size (in bytes).
@return the local endpoint state
@return the remote endpoint state (as last communicated)
@return the local endpoint error, or null if there is none
Set the local error condition @param condition
@return the remote endpoint error, or null if there is none
free the endpoint and any associated resources
transition local state to ACTIVE
transition local state to CLOSED
Sets an arbitrary an application owned object on the end-point. This object is not used by Proton.
@see #setContext(Object)
<p> Operates on the entities in the associated {@link Connection} by accepting and producing binary AMQP output, potentially layered within SASL and/or SSL. </p> <p> After a connection is bound with {@link #bind(Connection)}, the methods for accepting and producing output are typically repeatedly called. See the specific methods for details of their legal usage. </p> <p> <strong>Processing the input data received from another AMQP container.</strong> </p> <ol> <li>{@link #getInputBuffer()} </li> <li>Write data into input buffer</li> <li>{@link #processInput()}</li> <li>Check the result, e.g. by calling {@link TransportResult#checkIsOk()}</li> </ol> <p> <strong>Getting the output data to send to another AMQP container:</strong> </p> <ol> <li>{@link #getOutputBuffer()} </li> <li>Read output from output buffer</li> <li>{@link #outputConsumed()}</li> </ol>
<p>The following methods on the byte buffers returned by {@link #getInputBuffer()} and {@link #getOutputBuffer()} must not be called: </p> <ol> <li> {@link ByteBuffer#clear()} </li> <li> {@link ByteBuffer#compact()} </li> <li> {@link ByteBuffer#flip()} </li> <li> {@link ByteBuffer#mark()} </li> </ol>