ZG  "1.00
 All Classes Namespaces Files Functions Variables Enumerator Friends Macros Pages
Classes | Enumerations | Functions | Variables
zg Namespace Reference

The zg namespace contains the public API of the ZG library. More...

Classes

class  IDatabaseObject
 An interface for an object that represents the full contents of a ZG database. More...
 
class  INetworkTimeProvider
 This is an abstract interface for an object that can provide us with network-clock-time values. More...
 
class  ITextCommandReceiver
 Interface for an object that can receive text commands from the user. More...
 
class  ZGDatabasePeerSession
 This is a convenience class; it is the same as a ZGPeerSession except that it also knows how to create and manage some user-provided IDatabaseObjects (one per database) so that the subclass doesn't have to implement all of the Message<->IDatabaseObject plumbing manually. More...
 
class  ZGPeerID
 A ZGPeerID is a 128-bit integer that uniquely represents a particular peer in a ZG system. More...
 
class  ZGPeerSession
 This is the class that a user program would typically subclass from and add to a ReflectServer in order to participate in a ZG system. More...
 
class  ZGPeerSettings
 This immutable class holds various read-only settings that will be used to define the peer's behavior. More...
 
class  ZGStdinSession
 This is a utility class that knows how to read from the process's stdin and hand any received text commands over to the TextCommandReceived() method of the ITextCommandReceiver that is passed to its constructor. More...
 

Enumerations

enum  { GLOBAL_PORT_BASE = 41780 }
 Enumeration of port numbers that will be the same for all ZG systems (not currently used) More...
 
enum  { PER_SYSTEM_PORT_BASE = GLOBAL_PORT_BASE+100, PER_SYSTEM_PORT_HEARTBEAT, PER_SYSTEM_PORT_DATA }
 Enumeration of port numbers that will be the same for all peer-processes in a given ZG system. More...
 
enum  { PER_PROCESS_PORT_BASE = PER_SYSTEM_PORT_BASE+100 }
 
enum  { ZG_PEER_ID_TYPE = 2053597540 }
 
enum  { PEER_TYPE_FULL_PEER = 0, PEER_TYPE_JUNIOR_ONLY, NUM_PEER_TYPES }
 

Functions

String PeerInfoToString (const ConstMessageRef &peerInfo)
 Convenience method: Given a peer-info Message, returns a single-line string description of that Message (e.g. More...
 

Variables

 IDatabaseObject
 
 ZGDatabasePeerSession
 
 ZGPeerSession
 
 ZGStdinSession
 

Detailed Description

The zg namespace contains the public API of the ZG library.

The zg namespace is a superset of the muscle namespace

Enumeration Type Documentation

anonymous enum

Enumeration of port numbers that will be the same for all ZG systems (not currently used)

Enumerator
GLOBAL_PORT_BASE 

guard value

Definition at line 14 of file ZGConstants.h.

anonymous enum

Enumeration of port numbers that will be the same for all peer-processes in a given ZG system.

Enumerator
PER_SYSTEM_PORT_BASE 

guard value

PER_SYSTEM_PORT_HEARTBEAT 

port to transmit heartbeat packets on

PER_SYSTEM_PORT_DATA 

port to transmit database packets on

Definition at line 19 of file ZGConstants.h.

anonymous enum
Enumerator
PER_PROCESS_PORT_BASE 

guard value

Definition at line 26 of file ZGConstants.h.

anonymous enum
Enumerator
ZG_PEER_ID_TYPE 

Definition at line 12 of file ZGPeerID.h.

anonymous enum
Enumerator
PEER_TYPE_FULL_PEER 
PEER_TYPE_JUNIOR_ONLY 
NUM_PEER_TYPES 

Definition at line 16 of file ZGPeerSettings.h.

Function Documentation

String zg::PeerInfoToString ( const ConstMessageRef &  peerInfo)

Convenience method: Given a peer-info Message, returns a single-line string description of that Message (e.g.

for debugging)

Parameters
peerInfoReference to a Message containing user-defined attributes describing a particular Peer
Returns
a human-readable single-line text description of that Message's contents.

Variable Documentation

Definition at line 132 of file IDatabaseObject.h.

Definition at line 55 of file ZGDatabasePeerSession.h.

Definition at line 314 of file ZGPeerSession.h.

Definition at line 107 of file ZGStdinSession.h.