Caucus framework

The Caucus framework provides the facilities you need to create and run a caucus. A caucus is an ad hoc process group that collaborates on a project. Caucuses consist of zero or more members that communicate using a globally-ordered group send. Messages sent within a caucus are broadcast to all caucus members, and each caucus member receives the messages in the same order as they are sent.


The Caucus framework defines the interface for one-to-many communication, but it does not define what you do with the interface. Clients build on top of the caucus interface, adding their own protocol inside the messages they send. The nature of the data defines the implementation. This means that you can use the Caucus framework for a broad set of uses; the commonality is that each use requires communication (sending, receiving, or both) to be shared among a group of clients that treats the group as an entity.

Some examples of programs that might use the caucus framework include:

If, instead of a one-to-many relationship, you want to communicate between tasks or threads using the client-server model, use Message Streams or RPC Services. Message Streams provides thread-to-thread communication using a request-reply interface between a caller and server. RPC Services expands on the basic Message Streams features to provide a remote object call interface. To learn more about Message Streams, read "Communications access
" in OS Services. To learn about RPC Services, see Chapter 7, "RPC Services," in this book.

The Caucus framework, Message Streams, and RPC Services all use the Service Access framework to define services or locate references to existing services. To learn more about the Service access framework, read "Communications access" in OS Services.

Understanding the Caucus framework
Caucus framework classes
Using the standard caucus implementation
Extending the caucus framework

[Contents] [Previous] [Next]
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.

Generated with WebMaker