Understanding the Queue
In Iguana, all messages that are accepted by the source component of a channel are placed in a common message queue that is used by all Iguana channels. The destination component of each channel reads its messages from this message queue and processes them.
For each channel except channels whose source component is From Channel or whose destination component is To Channel, a single source position is defined in this message queue. This source position indicates the location of the last message processed by this channel.
For channels whose source component is From Channel, one source position is defined for each channel specified in the From Channel source component.
For channels whose destination component is To Channel, no source positions are defined. For these channels, source positions are specified by the channels that use these channels as a source.
The following diagram illustrates the message queue and its source positions:
In this example, three channels are defined, named A, B and C. Channel C has a source component of From Channel, and two additional channels, C1 and C2, are the sources for this channel.
Channel A and Channel B have a single source position, indicating the last message that was processed by each channel. Channel C has two source positions: one for the last message processed from source C1, and one for the last message processed from source C2.
Messages that are newer than the source position of their channel are queued for processing by that channel. In this diagram, there is one message queued for channel A, one queued for channel B and two queued for channel C (one from each source).