...
All versions of the AMQP protocol support the idea of the peers regularly passing null data to keep a wire that would otherwise by silent (during quiet times) busy. This is called idle timeout or heartbeating. It is configured during connection establishment. If a peer detects that a other has stopped sending this data, it can infer that the network connection has failed or the peer has otherwise become inoperable and close the connection. Sending of the null data is the responsibility of the ServerIdleWriteTimeoutTicker. Responsibility of detecting the absence of data from the peer is ServerIdleReadTimeoutTicker. When the Selector blocks awaiting activity the timeout is the minimum timeout value of all Tickers.
Websocket
AMQP 1.0 specification defines AMQP 1.0 over web sockets. The earlier version of the protocols didn't do this but the implementation within the Broker actually any.
...
The Port, Keystore and Truststore model objects are used to configure the websocket connection according to the TLS requirements.
AMQP Protocol Engines
The ProtocolEngine:
- accept accepts bytes from the transport (ProtocolEngine#received).
- exposes a public method (ProtocolEngine#processPendingIterator) which is used by the transport layer to pull pending bytes for the wire from the engine.
...