eq::net Namespace Reference


Detailed Description

The Equalizer networking abstraction layer.

The Equalizer network abstraction layer provides the basic functionality to enable execution on distributed and shared memory machines.


Classes

class  Barrier
 A networked, versioned barrier. More...
class  Base
 The base class for all networked objects. More...
class  BufferConnection
 A proxy connection buffering outgoing data into a memory region. More...
class  Command
 A class managing commands and the ownership of packets. More...
class  CommandCache
 A CommandCache handles the creation of commands for the CommandQueue and the node reschedule queue. More...
class  CommandFunc
class  CommandQueue
 A CommandQueue is a thread-safe queue for command packets. More...
class  Connection
 A base class to provide communication to other hosts. More...
class  ConnectionDescription
 Describes the connection to a Node. More...
class  ConnectionListener
 A listener interface to connection changes. More...
class  ConnectionSet
 A set of connections. More...
class  DataIStream
 A std::istream-like input data stream for binary data. More...
class  DataOStream
 A std::ostream buffering and/or retaining data in a binary format. More...
class  DeltaMasterCM
 An object change manager handling full versions and deltas for the master instance. More...
class  FDConnection
 A generic file descriptor-based connection, to be subclassed. More...
class  FullMasterCM
 An object change manager handling only full versions for the master instance. More...
class  FullSlaveCM
 An object change manager handling full instance versions for slave instances. More...
class  Global
 Global parameter handling for the Equalizer network implementation. More...
class  IDHash
class  Node
 Manages a node. More...
class  NodeID
 Wraps the universally unique node identifier. More...
class  NodeIDHash
 A hash for NodeID keys. More...
class  NullCM
 The object change manager doing nothing, for unmapped objects. More...
class  Object
 A generic, distributed object. More...
struct  ObjectVersion
 A helper struct bundling an object identifier and a version. More...
class  ObjectCM
 The object change manager base class. More...
class  ObjectDataIStream
 The DataIStream for object data. More...
class  ObjectDataOStream
 The DataOStream for object data. More...
class  ObjectDeltaDataIStream
 The DataIStream for object delta version data. More...
class  ObjectDeltaDataOStream
 The DataOStream for object delta version data. More...
class  ObjectInstanceDataIStream
 The DataIStream for object instance data. More...
class  ObjectInstanceDataOStream
 The DataOStream for object instance data. More...
struct  Packet
 Represents a packet. More...
struct  NodePacket
struct  NodeStopPacket
struct  NodeMapSessionPacket
struct  NodeMapSessionReplyPacket
struct  NodeUnmapSessionPacket
struct  NodeUnmapSessionReplyPacket
struct  NodeConnectPacket
struct  NodeConnectReplyPacket
struct  NodeDisconnectPacket
struct  NodeGetNodeDataPacket
struct  NodeGetNodeDataReplyPacket
struct  SessionPacket
struct  SessionAckRequestPacket
struct  SessionGenIDsPacket
struct  SessionGenIDsReplyPacket
struct  SessionSetIDMasterPacket
struct  SessionGetIDMasterPacket
struct  SessionGetIDMasterReplyPacket
struct  SessionGetObjectPacket
struct  SessionAttachObjectPacket
struct  SessionMapObjectPacket
struct  SessionSubscribeObjectPacket
struct  SessionSubscribeObjectSuccessPacket
struct  SessionSubscribeObjectReplyPacket
struct  SessionUnsubscribeObjectPacket
struct  SessionDetachObjectPacket
struct  ObjectPacket
struct  ObjectInstanceDataPacket
struct  ObjectInstancePacket
struct  ObjectCommitPacket
struct  ObjectDeltaDataPacket
struct  ObjectDeltaPacket
struct  BarrierEnterPacket
struct  BarrierEnterReplyPacket
class  PairConnection
 A meta connection consisting of two (unidirectional) connections providing bidirectional communication. More...
class  PipeConnection
 A uni-directional pipe connection. More...
class  Session
 A logical abstraction for multiple Node s. More...
class  SocketConnection
 A TCP/IP-based socket connection. More...
class  StaticMasterCM
 An object change manager handling a static master instance. More...
class  StaticSlaveCM
 An object change manager handling static object slave instances. More...
class  UnbufferedMasterCM
 An object change manager handling versioned objects without any buffering. More...

Typedefs

typedef base::RefPtr< NodeNodePtr
typedef base::RefPtr< ConnectionConnectionPtr
typedef base::RefPtr
< ConnectionDescription
ConnectionDescriptionPtr
typedef std::vector< NodePtrNodeVector
typedef std::vector< Object * > ObjectVector
typedef std::vector
< ConnectionPtr
ConnectionVector
typedef std::vector
< ConnectionDescriptionPtr
ConnectionDescriptionVector

Enumerations

enum  CommandResult { COMMAND_HANDLED, COMMAND_DISCARD, COMMAND_ERROR }
enum  NodeCommand {
  CMD_NODE_STOP, CMD_NODE_MESSAGE, CMD_NODE_MAP_SESSION, CMD_NODE_MAP_SESSION_REPLY,
  CMD_NODE_UNMAP_SESSION, CMD_NODE_UNMAP_SESSION_REPLY, CMD_NODE_SESSION, CMD_NODE_CONNECT,
  CMD_NODE_CONNECT_REPLY, CMD_NODE_DISCONNECT, CMD_NODE_GET_NODE_DATA, CMD_NODE_GET_NODE_DATA_REPLY,
  CMD_NODE_CUSTOM
}
enum  SessionCommand {
  CMD_SESSION_ACK_REQUEST, CMD_SESSION_GEN_IDS, CMD_SESSION_GEN_IDS_REPLY, CMD_SESSION_SET_ID_MASTER,
  CMD_SESSION_GET_ID_MASTER, CMD_SESSION_GET_ID_MASTER_REPLY, CMD_SESSION_ATTACH_OBJECT, CMD_SESSION_DETACH_OBJECT,
  CMD_SESSION_MAP_OBJECT, CMD_SESSION_SUBSCRIBE_OBJECT, CMD_SESSION_SUBSCRIBE_OBJECT_SUCCESS, CMD_SESSION_SUBSCRIBE_OBJECT_REPLY,
  CMD_SESSION_UNSUBSCRIBE_OBJECT, CMD_SESSION_GET_OBJECT, CMD_SESSION_CUSTOM
}
enum  ObjectCommand {
  CMD_OBJECT_INSTANCE_DATA, CMD_OBJECT_INSTANCE, CMD_OBJECT_DELTA_DATA, CMD_OBJECT_DELTA,
  CMD_OBJECT_COMMIT, CMD_OBJECT_CUSTOM
}
enum  BarrierCommand { CMD_BARRIER_ENTER = CMD_OBJECT_CUSTOM, CMD_BARRIER_ENTER_REPLY, CMD_BARRIER_ALL }
enum  ConnectionType { CONNECTIONTYPE_TCPIP, CONNECTIONTYPE_SDP, CONNECTIONTYPE_PIPE }
 The supported network protocols. More...
enum  LogTopics {
  LOG_OBJECTS = base::LOG_CUSTOM, LOG_BARRIER = 0x20, LOG_WIRE = 0x40, LOG_NETPERF = 0x80,
  LOG_CUSTOM = 0x100
}
enum  NodeType { TYPE_EQNET_INVALID, TYPE_EQNET_NODE, TYPE_EQNET_USER = 0x100 }
 Node types to identify connecting nodes. More...
enum  { DATATYPE_EQNET_NODE, DATATYPE_EQNET_SESSION, DATATYPE_EQNET_OBJECT, DATATYPE_EQNET_CUSTOM = 1<<7 }

Functions

EQ_EXPORT std::ostream & operator<< (std::ostream &os, const Command &command)
std::ostream & operator<< (std::ostream &os, const Connection *connection)
std::ostream & operator<< (std::ostream &os, const ConnectionDescription *desc)
EQ_EXPORT std::ostream & operator<< (std::ostream &os, const ConnectionSet *set)
EQ_EXPORT std::ostream & operator<< (std::ostream &os, const ConnectionSet::Event event)
std::ostream & operator<< (std::ostream &os, const FDConnection *connection)
EQ_EXPORT bool init (const int argc, char **argv)
 Initializes the Equalizer client library.
EQ_EXPORT bool exit ()
 De-initializes the Equalizer client library.
EQ_EXPORT std::ostream & operator<< (std::ostream &os, const Node::State state)
std::ostream & operator<< (std::ostream &os, const Node *node)
std::ostream & operator<< (std::ostream &os, const NodeID &id)
 NodeID& ostream operator.
std::ostream & operator<< (std::ostream &os, const ObjectVersion &ov)
std::ostream & operator<< (std::ostream &os, const Packet *packet)
std::ostream & operator<< (std::ostream &os, const NodePacket *packet)
std::ostream & operator<< (std::ostream &os, const NodeMapSessionPacket *packet)
std::ostream & operator<< (std::ostream &os, const NodeMapSessionReplyPacket *packet)
std::ostream & operator<< (std::ostream &os, const NodeConnectPacket *packet)
std::ostream & operator<< (std::ostream &os, const NodeConnectReplyPacket *packet)
std::ostream & operator<< (std::ostream &os, const NodeGetNodeDataPacket *packet)
std::ostream & operator<< (std::ostream &os, const NodeGetNodeDataReplyPacket *packet)
std::ostream & operator<< (std::ostream &os, const SessionPacket *packet)
std::ostream & operator<< (std::ostream &os, const SessionGenIDsReplyPacket *packet)
std::ostream & operator<< (std::ostream &os, const SessionGetIDMasterPacket *packet)
std::ostream & operator<< (std::ostream &os, const SessionGetIDMasterReplyPacket *packet)
std::ostream & operator<< (std::ostream &os, const SessionMapObjectPacket *packet)
std::ostream & operator<< (std::ostream &os, const ObjectPacket *packet)
std::ostream & operator<< (std::ostream &os, const ObjectInstanceDataPacket *packet)
std::ostream & operator<< (std::ostream &os, const ObjectInstancePacket *packet)
std::ostream & operator<< (std::ostream &os, const ObjectDeltaDataPacket *packet)
std::ostream & operator<< (std::ostream &os, const ObjectDeltaPacket *packet)
std::ostream & operator<< (std::ostream &os, const BarrierEnterPacket *packet)
std::ostream & operator<< (std::ostream &os, Session *session)


Enumeration Type Documentation

The supported network protocols.

Enumerator:
CONNECTIONTYPE_TCPIP  TCP/IP sockets.
CONNECTIONTYPE_SDP  SDP sockets (InfiniBand).
CONNECTIONTYPE_PIPE  pipe() based uni-directional connection

Definition at line 13 of file connectionType.h.

Node types to identify connecting nodes.

Enumerator:
TYPE_EQNET_INVALID  Invalid type.
TYPE_EQNET_NODE  A plain eq::net::Node.
TYPE_EQNET_USER  Application-specific types.

Definition at line 13 of file net/nodeType.h.


Function Documentation

EQ_EXPORT bool eq::net::init ( const int  argc,
char **  argv 
)

Initializes the Equalizer client library.

Parameters:
argc the command line argument count.
argv the command line argument values.
Returns:
true if the library was successfully initialised, false otherwise.

Definition at line 28 of file net/init.cpp.

References eq::base::Log::getLogLevelString(), eq::net::Global::getProgramName(), eq::net::Global::getWorkDir(), eq::base::init(), eq::net::Global::setProgramName(), eq::net::Global::setWorkDir(), and eq::base::Log::topics.

Referenced by eq::init().

Here is the call graph for this function:

Here is the caller graph for this function:

EQ_EXPORT bool eq::net::exit (  ) 

De-initializes the Equalizer client library.

De-initializes the Equalizer base classes.

Returns:
true if the library was successfully de-initialised, false otherwise.

Definition at line 62 of file net/init.cpp.

References eq::base::exit().

Referenced by eq::exit(), and eq::net::Node::initLocal().

Here is the call graph for this function:

Here is the caller graph for this function:

std::ostream& eq::net::operator<< ( std::ostream &  os,
const NodeID &  id 
) [inline]

NodeID& ostream operator.

Definition at line 170 of file nodeID.h.

Generated on Sat Dec 6 12:01:50 2008 for Equalizer 0.6 by  doxygen 1.5.5