Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The manageable categories are arranged into a tree structure.  SystemConfig is at the root and has a single descendent Broker.  The Broker itself has children: PortAuthenticationProviderVirtualHostNode amongst others.   VirtualHostNode has a child VirtualHost.  The children of the VirtualHost are categories that directly involved in messaging such as Queue.  The diagram below illustrates the category hierarchy but many categories are elided for brevity.  The model tree structure is codified in the BrokerModel class.

draw.io Diagram
bordertrue
viewerToolbartrue
fitWindowfalse
diagramNameUntitled Diagram
simpleViewerfalse
width
diagramWidth511
revision2

...

  • AMQPConnection_0_8Impl#received ultimately delegates to methods such as AMQPConnection_0_8Impl#receiveConnectionStartOk

  • AMQPConnection_0_10Impl#received ultimately delegates to delegate ServerConnectionDelegate#connectionStartOk
  • AMQPConnection_1_0Impl#received ultimately delegates to AMQPConnection_1_0Impl#receiveOpen

Producing bytes

 

AMQP As already said, the transport pulls tasks from the protocol engine.  These tasks produce bytes.  To do this, the transport calls the pending iterator which provides a stream of tasks that generate bytes for the wire. The transport keeps pulling until the output exceeds the buffer.  It then tries to write the buffered bytes to the wire.  If it writes more than half to the wire it continues to pull more tasks from the engine.  The cycle continues until the transport cannot take more bytes (back pressure at the TCP/IP layer, or the pending iterator yields no more tasks.   This arrangement always means that the transport retains control of backlog of bytes to be written to the wire.

...