TransportInternal

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.

Members

Functions

addTransportLayer
void addTransportLayer(TransportLayer layer)

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.

isUseReadOnlyOutputBuffer
bool isUseReadOnlyOutputBuffer()
Undocumented in source.
setUseReadOnlyOutputBuffer
void setUseReadOnlyOutputBuffer(bool value)
Undocumented in source.

Inherited Members

From Transport

Factory
class Factory
Undocumented in source.
TRACE_OFF
int TRACE_OFF;
Undocumented in source.
TRACE_RAW
int TRACE_RAW;
Undocumented in source.
TRACE_FRM
int TRACE_FRM;
Undocumented in source.
TRACE_DRV
int TRACE_DRV;
Undocumented in source.
DEFAULT_MAX_FRAME_SIZE
int DEFAULT_MAX_FRAME_SIZE;
Undocumented in source.
MIN_MAX_FRAME_SIZE
enum int MIN_MAX_FRAME_SIZE;

the lower bound for the agreed maximum frame size (in bytes).

SESSION_WINDOW
enum int SESSION_WINDOW;
Undocumented in source.
END_OF_STREAM
enum int END_OF_STREAM;
Undocumented in source.
trace
void trace(int levels)
Undocumented in source.
bind
void bind(Connection connection)
Undocumented in source.
unbind
void unbind()
Undocumented in source.
capacity
int capacity()
Undocumented in source.
tail
ByteBuffer tail()
Undocumented in source.
process
void process()
Undocumented in source.
close_tail
void close_tail()
Undocumented in source.
pending
int pending()
Undocumented in source.
head
ByteBuffer head()
Undocumented in source.
pop
void pop(int bytes)
Undocumented in source.
close_head
void close_head()
Undocumented in source.
isClosed
bool isClosed()
Undocumented in source.
input
int input(byte[] bytes, int offset, int size)

Processes the provided input.

getInputBuffer
ByteBuffer getInputBuffer()

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.

processInput
TransportResult processInput()

Tell the transport to process the data written to the input buffer.

output
int output(byte[] dest, int offset, int size)

Has the transport produce up to size bytes placing the result into dest beginning at position offset.

getOutputBuffer
ByteBuffer getOutputBuffer()

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.

outputConsumed
void outputConsumed()

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.

sasl
Sasl sasl()

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.

ssl
Ssl ssl(SslDomain sslDomain, SslPeerDetails sslPeerDetails)

Wrap this transport's output and input to apply SSL encryption and decryption respectively.

ssl
Ssl ssl(SslDomain sslDomain)

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.

getMaxFrameSize
int getMaxFrameSize()

Get the maximum frame size for the transport

setMaxFrameSize
void setMaxFrameSize(int size)
Undocumented in source.
getRemoteMaxFrameSize
int getRemoteMaxFrameSize()
Undocumented in source.
setInitialRemoteMaxFrameSize
void setInitialRemoteMaxFrameSize(int size)

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.

getChannelMax
int getChannelMax()

Gets the local channel-max value to be advertised to the remote peer

setChannelMax
void setChannelMax(int channelMax)

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.

getRemoteChannelMax
int getRemoteChannelMax()

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>.

getCondition
ErrorCondition getCondition()
Undocumented in source.
setIdleTimeout
void setIdleTimeout(int timeout)

@param timeout local idle timeout in milliseconds

getIdleTimeout
int getIdleTimeout()

@return local idle timeout in milliseconds

getRemoteIdleTimeout
int getRemoteIdleTimeout()

@return remote idle timeout in milliseconds

tick
long tick(long nowMillis)

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.

getFramesInput
long getFramesInput()
Undocumented in source.
getFramesOutput
long getFramesOutput()
Undocumented in source.
setEmitFlowEventOnSend
void setEmitFlowEventOnSend(bool emitFlowEventOnSend)

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.

isEmitFlowEventOnSend
bool isEmitFlowEventOnSend()
Undocumented in source.
setOutboundFrameSizeLimit
void setOutboundFrameSizeLimit(int 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.

getOutboundFrameSizeLimit
int getOutboundFrameSizeLimit()
Undocumented in source.

Meta