Compounds | |
| class | AsynchronousRemoteServer |
| This is an asynchronous implementation of the synchronous base class. More... | |
| class | ByzantineQuorumSystem |
| ByzantineQuorumSystem is an abstract base class derived from QuorumSystem. More... | |
| class | ConcreteResponseTracker |
| ConcreteResponseTracker is a templated class that correlates responses with requests. More... | |
| 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 LoopbackSockets. More... | |
| struct | memless |
| memless is a memcmp-based sorting function for STL sorting algorithms. 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 | QSERemoteServer |
| Base class for exceptions relating to RemoteServers. More... | |
| class | QSERemoteServerGethostbynameFailed |
| Exception thrown when gethostbyname(3) fails. More... | |
| class | QSESBQSReturnsBad |
| Exception thrown when a vector of RemoteServerReturns is too small. More... | |
| class | QSESocketBase |
| Base class for exceptions relating to SocketBase and its inheritors. More... | |
| class | QSESocketBaseAcceptFailed |
| Exception thrown for failure accepting a connection. More... | |
| class | QSESocketBaseBadSocket |
| Exception thrown for failure during construction of SocketBase. More... | |
| class | QSESocketBaseCannotBind |
| Exception thrown for failure to bind a socket. More... | |
| class | QSESocketBaseCannotConnect |
| Exception thrown for failure to connect to a remote server. More... | |
| class | QSESocketBaseListenFailed |
| Exception thrown for failure listening on 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 | QSESocketBaseReadFailed |
| Exception thrown for failure reading from a socket. More... | |
| class | QSESocketBaseSocketClosed |
| Exception thrown for an attempt to access a closed socket. More... | |
| class | QSESocketBaseWriteFailed |
| Exception thrown for failure writing to a socket. More... | |
| class | QSExceptionBase |
| Base class for all exceptions thrown by classes in the Quorum package. More... | |
| class | QuorumDispatcher |
| Virtual base class for handling responses from a quorum. More... | |
| class | QuorumSystem |
| QuorumSystem is an abstract base class designed to present the basic interface for all quorum systems. More... | |
| class | RemoteServer |
| This holds the information necessary in order to contact a server. More... | |
| class | RemoteServerReturn |
| Return values from server communications. More... | |
| class | ResponseCallback |
| Abstract functional class to process incoming responses. More... | |
| class | ResponseInfo |
| This class holds response-tracking information for a single request. More... | |
| class | ResponseTracker |
| ResponseTracker is an abstract helper class that provides a mechanism for matching a response to the original request. More... | |
| class | SimpleStaticByzantineQuorumSystem |
| Smallest possible T-fault-tolerant StaticByzantineQuorumSystem. More... | |
| class | SocketBase |
| This class handles basic socket operations. 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... | |
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:
1.2.18