Introduction Manual Class Reference Header Reference

ZCom_NodeReplicationInterceptor Class Reference

List of all members.

Detailed Description

Interface for intercepting node replications.

An application must derive all methods provided in this interface and register the instance of this class with the node in question.


Public Member Functions

virtual ZCOM_API void inPostUpdate (ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remote_role, zU32 _rep_bits, zU32 _event_bits, zU32 _meta_bits)=0
 Incoming data has updated the node.
virtual ZCOM_API bool inPreUpdate (ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remote_role)=0
 Incoming data is about to be written into the replication data fields.
virtual ZCOM_API bool inPreUpdateItem (ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remote_role, ZCom_Replicator *_replicator, zU32 _estimated_time_sent)=0
 Incoming data is about to be written into a specific replication data field.
virtual ZCOM_API void outPostUpdate (ZCom_Node *_node, ZCom_ConnID _to, eZCom_NodeRole _remote_role, zU32 _rep_bits, zU32 _event_bits, zU32 _meta_bits)=0
 The node has included it's update into the current packet.
virtual ZCOM_API void outPreDereplicateNode (ZCom_Node *_node, ZCom_ConnID _to, eZCom_NodeRole _remote_role)=0
 The node is about to be removed from a remote control.
virtual ZCOM_API void outPreReplicateNode (ZCom_Node *_node, ZCom_ConnID _to, eZCom_NodeRole _remote_role)=0
 The node is about to be replicated to a remote control.
virtual ZCOM_API bool outPreUpdate (ZCom_Node *_node, ZCom_ConnID _to, eZCom_NodeRole _remote_role)=0
 The node is about to be evaluated for sending data updates.
virtual ZCOM_API bool outPreUpdateItem (ZCom_Node *_node, ZCom_ConnID _to, eZCom_NodeRole _remote_role, ZCom_Replicator *_replicator)=0
 The node is about to include a specific replication item in an update.


Member Function Documentation

virtual ZCOM_API void ZCom_NodeReplicationInterceptor::outPreReplicateNode ZCom_Node _node,
ZCom_ConnID  _to,
eZCom_NodeRole  _remote_role
[pure virtual]
 

The node is about to be replicated to a remote control.

Parameters:
_node The node in question.
_to Connection ID of destination.
_remote_role Role of destination node.

virtual ZCOM_API void ZCom_NodeReplicationInterceptor::outPreDereplicateNode ZCom_Node _node,
ZCom_ConnID  _to,
eZCom_NodeRole  _remote_role
[pure virtual]
 

The node is about to be removed from a remote control.

Parameters:
_node The node in question.
_to Connection ID of destination.
_remote_role Role of destination node.
This won't get called if the node is deleted already.

virtual ZCOM_API bool ZCom_NodeReplicationInterceptor::outPreUpdate ZCom_Node _node,
ZCom_ConnID  _to,
eZCom_NodeRole  _remote_role
[pure virtual]
 

The node is about to be evaluated for sending data updates.

Parameters:
_node The node in question.
_to Connection ID of destination.
_remote_role Role of destination node.
Returns:
Should return 'false' to prevent sending updates now, 'true' otherwise.

virtual ZCOM_API bool ZCom_NodeReplicationInterceptor::outPreUpdateItem ZCom_Node _node,
ZCom_ConnID  _to,
eZCom_NodeRole  _remote_role,
ZCom_Replicator _replicator
[pure virtual]
 

The node is about to include a specific replication item in an update.

Parameters:
_node The node in question.
_to Connection ID of destination.
_remote_role Role of destination node.
_replicator Pointer to the source replicator.
Returns:
Callback should return 'false' to prevent inclusion in the update.
This callback only gets called if the replication item really is about to be updated now. That means, if the value did not change or is not allowed to update due to mindelay constraints, this callback won't get called. You can change the value of the original data in this callback, and the changed data will get sent.

The intercept id of the replicator can be retrieved with

      _replicator->getSetup()->getInterceptID();

virtual ZCOM_API void ZCom_NodeReplicationInterceptor::outPostUpdate ZCom_Node _node,
ZCom_ConnID  _to,
eZCom_NodeRole  _remote_role,
zU32  _rep_bits,
zU32  _event_bits,
zU32  _meta_bits
[pure virtual]
 

The node has included it's update into the current packet.

Parameters:
_node The node in question.
_to Connection ID of destination.
_remote_role Role of destination node.
_rep_bits Amount of payload bits in replication update.
_event_bits Amount of payload bits in event data.
_meta_bits Amount of bits of control data for the complete node update.
The total amount of bits used is _rep_bits + _event_bits + _meta_bits.

virtual ZCOM_API bool ZCom_NodeReplicationInterceptor::inPreUpdate ZCom_Node _node,
ZCom_ConnID  _from,
eZCom_NodeRole  _remote_role
[pure virtual]
 

Incoming data is about to be written into the replication data fields.

Parameters:
_node The node in question.
_from Connection ID of source.
_remote_role Role of remote sender.
Returns:
Should return 'false' to prevent applying the replication data updates. Events will be received nevertheless.

virtual ZCOM_API bool ZCom_NodeReplicationInterceptor::inPreUpdateItem ZCom_Node _node,
ZCom_ConnID  _from,
eZCom_NodeRole  _remote_role,
ZCom_Replicator _replicator,
zU32  _estimated_time_sent
[pure virtual]
 

Incoming data is about to be written into a specific replication data field.

Parameters:
_node The node in question.
_from Connection ID of source.
_remote_role Role of remote sender.
_replicator Pointer to the target replicator.
_estimated_time_sent gives an msec value trying to estimate the time the data has left the remote ZCom_Control. Execute "ZoidComgetTime() - _estimated_time_sent" to find out the data's travel time in msecs.
Returns:
Should return 'false' to prevent applying the replication data update.
The intercept id of the replicator can be retrieved with
      _replicator->getSetup()->getInterceptID();

virtual ZCOM_API void ZCom_NodeReplicationInterceptor::inPostUpdate ZCom_Node _node,
ZCom_ConnID  _from,
eZCom_NodeRole  _remote_role,
zU32  _rep_bits,
zU32  _event_bits,
zU32  _meta_bits
[pure virtual]
 

Incoming data has updated the node.

Parameters:
_node The node in question.
_from Connection ID of source.
_remote_role Role of remote sender.
_rep_bits Amount of replication data bits received.
_event_bits Amount of event bits received.
_meta_bits Amount of bits of control data for the complete node update.
The total amount of bits used is _rep_bits + _event_bits + _meta_bits.


This file is part of the documentation for Zoidcom. Documentation copyright © 2004-2008 by Jörg Rüppel. Generated on Sat Aug 16 15:26:50 2008 for Zoidcom by doxygen 1.4.6-NO