Introduction Manual Class Reference Header Reference

zoidcom.h File Reference

Detailed Description

Go to the source code of this file.


struct  ZCom_ConnStats
 Connection statistics. More...
struct  ZCom_FileTransInfo
 File transfer information. More...
class  ZoidCom
 Main control class. May be instantiated only once. More...


typedef zU32 ZCom_ClassID
 class ID
typedef zU32 ZCom_ConnID
 connection ID
typedef zU32 ZCom_FileTransID
 file transfer ID
typedef zU32 ZCom_GroupID
 sendgroup ID
typedef zU8 ZCom_InterceptID
 replication item ID
typedef zU32 ZCom_NodeID
 node ID


enum  eZCom_AddressType { eZCom_AddressLocal, eZCom_AddressTCP, eZCom_AddressUDP, eZCom_AddressBroadcast }
 Address type as in eZCom_SocketType. More...
enum  eZCom_BlockMode { eZCom_Block, eZCom_NoBlock }
 Blocking mode for ZCom_Control::ZCom_processInput(). More...
enum  eZCom_CloseReason { eZCom_ClosedDisconnect, eZCom_ClosedTimeout, eZCom_ClosedReconnect }
 Reason value for ZCom_Control::ZCom_cbConnectionClosed. More...
enum  eZCom_ConnectResult {
  eZCom_ConnAccepted, eZCom_ConnDenied, eZCom_ConnTimeout, eZCom_ConnHostnameFailed,
 Result values for ZCom_Control::ZCom_cbConnectResult(). More...
enum  eZCom_DependencyOpt
 Set or remove dependency option for ZCom_Node::dependsOn(). More...
enum  eZCom_DiscoverOpt { eZCom_DiscoverEnable, eZCom_DiscoverDisableAndKeep, eZCom_DiscoverDisable }
 Discover options. More...
enum  eZCom_Event { ,
  eZCom_EventInit, eZCom_EventSyncRequest, eZCom_EventRemoved, eZCom_EventFile_Incoming,
  eZCom_EventFile_Data, eZCom_EventFile_Aborted, eZCom_EventFile_Complete , eZCom_EventUser
 ZCom_Node event types, all events except eZCom_EventUser are generated by Zoidcom. More...
enum  eZCom_GetIPAddressOption { eZCom_AddressWithPort, eZCom_AddressWithoutPort }
 Address type as in eZCom_SocketType. More...
enum  eZCom_HostnameResult { eZCom_HostnameIdle, eZCom_HostnameFailed, eZCom_HostnameSuccess, eZCom_HostnameInProgress }
 Result values for ZCom_Address::checkHostname(). More...
enum  eZCom_NodeRole { eZCom_RoleUndefined, eZCom_RoleProxy, eZCom_RoleOwner, eZCom_RoleAuthority }
 Node Roles. More...
enum  eZCom_SendMode { eZCom_ReliableUnordered, eZCom_ReliableOrdered, eZCom_Unreliable, eZCom_UnreliableNotify }
 Send modes. More...
enum  eZCom_SocketType { eZCom_SocketLocal, eZCom_SocketTCP, eZCom_SocketUDP }
 Available socket types. More...
enum  eZCom_ZoidResult {
  eZCom_ZoidEnabled, eZCom_ZoidDenied, eZCom_ZoidFailed_System, eZCom_ZoidFailed_Node,
 Result values for ZCom_Control::ZCom_cbZoidResult(). More...

Typedef Documentation

typedef zU32 ZCom_ConnID

connection ID

typedef zU32 ZCom_ClassID

class ID

typedef zU32 ZCom_NodeID

node ID

typedef zU32 ZCom_FileTransID

file transfer ID

typedef zU32 ZCom_GroupID

sendgroup ID

typedef zU8 ZCom_InterceptID

replication item ID

Enumeration Type Documentation

enum eZCom_SocketType

Available socket types.

Zoidcom uses UDP and internal sockets for communication.

eZCom_SocketLocal  local socket (ZoidCom internal), can be used to connect two ZCom_Controls within the same process
eZCom_SocketTCP  TCP socket, currently not implemented.
eZCom_SocketUDP  UDP socket.

enum eZCom_BlockMode

Blocking mode for ZCom_Control::ZCom_processInput().

eZCom_Block  block until data arrived
eZCom_NoBlock  return if no data is present

enum eZCom_DependencyOpt

Set or remove dependency option for ZCom_Node::dependsOn().

enum eZCom_DiscoverOpt

Discover options.

eZCom_DiscoverEnable  start listening for discover requests(open socket or reuse previous socket)
eZCom_DiscoverDisableAndKeep  stop listening to discover events but keep socket open
eZCom_DiscoverDisable  stop listening to discover events and close socket

enum eZCom_AddressType

Address type as in eZCom_SocketType.

eZCom_AddressLocal  address refers to a eZCom_SocketLocal
eZCom_AddressTCP  address refers to a eZCom_SocketTCP
eZCom_AddressUDP  address refers to a eZCom_SocketUDP
eZCom_AddressBroadcast  data sent to this address will be sent to all connections with all socket types

enum eZCom_GetIPAddressOption

Address type as in eZCom_SocketType.

eZCom_AddressWithPort  retrieve address as string with :port
eZCom_AddressWithoutPort  retrieve address as string without a port

enum eZCom_ConnectResult

Result values for ZCom_Control::ZCom_cbConnectResult().

eZCom_ConnAccepted  connection has been accepted and is established now
eZCom_ConnDenied  connection has been denied
eZCom_ConnTimeout  connection request ran into timeout
eZCom_ConnHostnameFailed  name resolution failed
eZCom_ConnWrongVersion  destination uses different Zoidcom version

enum eZCom_CloseReason

Reason value for ZCom_Control::ZCom_cbConnectionClosed.

eZCom_ClosedDisconnect  closed on request
eZCom_ClosedTimeout  closed due to timeout
eZCom_ClosedReconnect  closed due to reconnect from same client

enum eZCom_ZoidResult

Result values for ZCom_Control::ZCom_cbZoidResult().

eZCom_ZoidEnabled  requested zoidmode successfully set up
eZCom_ZoidDenied  server denied request
eZCom_ZoidFailed_System  zoidmode failed on system level
eZCom_ZoidFailed_Node  a node with setNodeMustSync(true) failed to sync
eZCom_ZoidDisabled  left zoidmode

enum eZCom_HostnameResult

Result values for ZCom_Address::checkHostname().

eZCom_HostnameIdle  no hostname lookup in progress
eZCom_HostnameFailed  failed to resolve
eZCom_HostnameSuccess  successfully resolved
eZCom_HostnameInProgress  still in progress

enum eZCom_NodeRole

Node Roles.

See also ZCom_Node::setOwner() and ZCom_Node::getRole()

eZCom_RoleUndefined  no role assigned yet
eZCom_RoleProxy  node is a proxy
eZCom_RoleOwner  node is owner
eZCom_RoleAuthority  node is authority

enum eZCom_SendMode

Send modes.

eZCom_ReliableUnordered  no ordering, but reliable
eZCom_ReliableOrdered  reliable and ordered with other ordered events from this node
eZCom_Unreliable  unreliable, sequenced. i.e. 1 2 4 might happen but 1 2 4 3 not
eZCom_UnreliableNotify  only for ZCom_ReplicatorAdvanced::sendData() and ZCom_ReplicatorAdvanced::sendDataDirect() send event unreliable, but notify replicator about loss or successful transmission

enum eZCom_Event

ZCom_Node event types, all events except eZCom_EventUser are generated by Zoidcom.

eZCom_EventInit  A remote node has connected to this node, use this to send any necessary events to it. This event will be received only if notification of it is enabled with setEventNotification(). After it has been received it is safe to send events to the new node directly, by using the ZCom_ConnID and sendEventDirect().
eZCom_EventSyncRequest  This node has eZCom_RoleAuthority and setMustSync(true). A new proxy/owner has become relevant to this node. It is now possible to send events back and forth to the new proxy node and so exchange data with it. Whenever ready, call setSyncResult() and notify Zoidcom that the data exchange was successful or that it failed. If failure is reported, the client's Zoidlevel transition will fail and the connection will fall back to the previous Zoidlevel. This event will only be received if a client connection is entering one of the node's Zoidlevels. eZCom_EventInit will be received in addition to that on both nodes, if enabled.
eZCom_EventRemoved  If this node is eZCom_RoleAuthority and a proxy or owner disconnected, you will receive this event. (If enabled with setEventNotification())

If this node is eZCom_RoleOwner or eZCom_RoleProxy and the authority on the other end disconnected, you will receive this event. It can not be disabled since it is an implicit request to delete this node.

eZCom_EventFile_Incoming  The remote node is trying to send a file. The data in the BitStream is:
  • ZCom_FileTransID fid = (ZCom_FileTransID) stream->getInt(ZCOM_FTRANS_ID_BITS);
    PLUS additional data passed to the sendFile() method
eZCom_EventFile_Data  New file data has arrived, data is:
  • ZCom_FileTransID fid = (ZCom_FileTransID) stream->getInt(ZCOM_FTRANS_ID_BITS);

    The actual data is not passed around in the stream here, Zoidcom appends the incoming data to the file automatically. This is just a notification to let the app know when to look for new progress information with ZCom_Node::getFileInfo().
eZCom_EventFile_Aborted  File transfer aborted:
  • ZCom_FileTransID fid = (ZCom_FileTransID) stream->getInt(ZCOM_FTRANS_ID_BITS);
eZCom_EventFile_Complete  File transfer complete:
  • ZCom_FileTransID fid = (ZCom_FileTransID) stream->getInt(ZCOM_FTRANS_ID_BITS);
eZCom_EventUser  Application generated event from remote node received.

This file is part of the documentation for Zoidcom. Documentation copyright 2004-2008 by Jrg Rppel. Generated on Sat Aug 16 15:26:49 2008 for Zoidcom by doxygen 1.4.6-NO