Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CODEX_Quorum Namespace Reference

This namespace holds the class definitions for the CODEX Quorum package. More...


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< MessageMessageVector
 Convenient typedef.
typedef vector< RemoteServerReturnReturnVector
 Convenient typedef.


Detailed Description

This namespace holds the class definitions for the CODEX Quorum package.

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:

See also:
Dahlia Malkhi and Michael Reiter. Byzantine Quorum Systems. Distributed Computing, 11(4):203--213, 1998.
This package is part of the Cornell Online Data EXchange (CODEX) project. The primary goal of CODEX is to provide a secure distributed service for disseminating symmetric keys using cryptography-based access control. A secondary goal is the creation of a flexible toolkit for designing other systems implementing fault tolerance and strong security guarantees.

Author:
Michael Marsh, Cornell University
Date:
Last modified
Date
2004/05/19 15:56:55

Created July 23, 2002


Generated on Fri May 6 17:42:28 2005 for COrnell Data EXchange (CODEX) by  doxygen 1.4.1