Classes | |
| class | EchoServer |
| Sample server that echoes messages to the terminal and back to the sender. More... | |
| class | LocalServer |
| Encapsulation of a local service. More... | |
| class | LoopbackSocket |
| This class implements a loopback socket. More... | |
| class | LoopbackSocketBuilder |
| This class implements a SocketBuilder for LoopbackSocket%s. More... | |
| class | Message |
| Message is a simple data buffer that can grow arbitrarily. More... | |
| class | MessageDispatcher |
| Virtual base class for handling new requests. More... | |
| class | QuorumDispatcher |
| Virtual base class for handling responses from a quorum. More... | |
| class | QSExceptionBase |
| Base class for all exceptions thrown by classes in the Quorum package. More... | |
| class | QuorumSystem |
| QuorumSystem is an abstract base class designed to present the basic interface for all quorum systems. More... | |
| class | ByzantineQuorumSystem |
| ByzantineQuorumSystem is an abstract base class derived from QuorumSystem. More... | |
| class | RemoteServerReturn |
| Return values from server communications. More... | |
| class | RemoteServer |
| This holds the information necessary in order to contact a server. More... | |
| class | AsynchronousRemoteServer |
| This is an asynchronous implementation of the synchronous base class. More... | |
| class | QSERemoteServer |
| Base class for exceptions relating to RemoteServer%s. More... | |
| class | QSERemoteServerGethostbynameFailed |
| Exception thrown when gethostbyname(3) fails. More... | |
| class | ResponseCallback |
| Abstract functional class to process incoming responses. More... | |
| class | ResponseInfo |
| This class holds response-tracking information for a single request. More... | |
| struct | memless |
| memless is a memcmp-based sorting function for STL sorting algorithms. More... | |
| class | ResponseTracker |
| ResponseTracker is an abstract helper class that provides a mechanism for matching a response to the original request. More... | |
| class | ConcreteResponseTracker |
| ConcreteResponseTracker is a templated class that correlates responses with requests. More... | |
| class | SocketBase |
| This class handles basic socket operations. More... | |
| class | QSESocketBase |
| Base class for exceptions relating to SocketBase and its inheritors. More... | |
| class | QSESocketBaseBadSocket |
| Exception thrown for failure during construction of SocketBase. More... | |
| class | QSESocketBaseCannotBind |
| Exception thrown for failure to bind a socket. More... | |
| class | QSESocketBaseListenFailed |
| Exception thrown for failure listening on a socket. More... | |
| class | QSESocketBaseAcceptFailed |
| Exception thrown for failure accepting a connection. More... | |
| class | QSESocketBaseCannotConnect |
| Exception thrown for failure to connect to a remote server. More... | |
| class | QSESocketBaseSocketClosed |
| Exception thrown for an attempt to access a closed socket. More... | |
| class | QSESocketBaseReadFailed |
| Exception thrown for failure reading from a socket. More... | |
| class | QSESocketBaseWriteFailed |
| Exception thrown for failure writing to a socket. More... | |
| class | QSESocketBaseMessageTooLong |
| Exception thrown for a message that's too large (greater than 4GB). More... | |
| class | QSESocketBaseMessageTooShort |
| Exception thrown for a message that's too short. More... | |
| class | SocketBuilder |
| Functional base class for constructing SocketBase objects based on predefined arguments. More... | |
| class | StaticByzantineQuorumSystem |
| A compile-time configured Byzantine quorum system. More... | |
| class | QSESBQSReturnsBad |
| Exception thrown when a vector of RemoteServerReturn%s is too small. More... | |
| class | SimpleStaticByzantineQuorumSystem |
| Smallest possible T-fault-tolerant StaticByzantineQuorumSystem. More... | |
Typedefs | |
| typedef Message | Response |
| Convenient typedef to distinguish responses from requests. | |
| typedef vector< Message > | MessageVector |
| Convenient typedef. | |
| typedef vector< RemoteServerReturn > | ReturnVector |
| Convenient typedef. | |
This package provides C++ classes to implement a quorum system. The focus is on dissemination Byzantine quorum systems, but the code is designed around a more general structure. Architectures supported include a static quorum configuration supporting arbitrary fault-tolerance at compile time, configurations fixed at run-time, and dynamic configurations where the number of servers and faults may change during the lifetime of program invocation. Classes to manage communications are also included.
The classes forming the bases of their respective hierarchies are:
Created July 23, 2002
1.4.1