The standard caucus implementation recognizes five types of messages--join, leave, pause, resume, and data messages. TCaucusSendMessage is used only to generate data messages--the framework generates the other message types either automatically or as part of other messages.
Messages within a caucus are issued one at a time, rather than as a continuous data stream. When a caucus member sends a message, all caucus members receive the message, including the originator.
The Caucus framework guarantees that all members receive messages in the same order. It does not, however, guarantee what that order is. If, for example, two members send a message at approximately the same time, you might not be able to predict which message is distributed first. You can be sure, however, that all caucus members receive the messages in the identical order.
To send a message:
{ TStandardCaucusSendMessage message ( fCaucusMember ) ; data >>=message; }