When data arrives on a client connection, the transport group manager adds the connection to the end of the connection-ready queue and wakes the worker that most recently went idle. When the worker wakes, it removes the connection at the front of the ready queue and invokes the appropriate event callback method.
The connection-ready queue is first-in-first-out, ensuring that a message is processed from each connection in turn. The worker-idle list is last-in-first-out, to make best use of processor and database caches.
As incoming messages from unbound connections are directed to the next idle worker process, a specific client connection can be handled by more than one worker. This means that session data for unbound connections must be held in persistent or shared transient objects (for details, see the JadeMultiWorkerTcpConnection class userObject property).
The event groups are connection events and management events. For details, see the following subsections.