Zoidcom provides functionality for automatic synchronization of object variables. ZCom_Replicator is the root of the class tree responsible for this task. Each data type has it's own subclass of ZCom_Replicator. For example, for synchronization of a string variable (char), ZCom_Replicate_Stringp is responsible. Replicators monitor their assigned variable for changes, and once they find a change, they notify the node about it, which will flag the variable dirty. Next time when the node is asked to package updates for a client, it checks which replicators are marked dirty for this client, iterate over all of them and ask them to pack an update. The update bundle is then passed to ZCom_Control, which will ask the next node for updates, until the desired packet size is reached or all nodes have been processed. The final bundle is then passed to ZoidCom, which will deliver the packet to the target ZCom_Control. Getting there, the bundles are passed down the hierarchy again, so that all replicators in the target system will get the data that was packed by the originating replicators before.
The diagram in Zoidcom Design should help understanding the process a bit.
Zoidcom's synchronization system is sophisticated and designed to use as little bandwidth as possible. This list shows some of the features:
This is a list of available replicators:
- Lots of premade replicator implementations (single value and vector) for basic types (int, string, bool, float)
- Replicator implementations (single value and vector) that interpolate the values as they receive them
- Flexible per-variable role-based synchronization direction
- Adjustable per-variable update frequencies
- Adjustable per-variable accuracy (in bits)
- Custom replicators made in minutes
- Additional advanced replicator interface for even the most complex custom replicator needs
If you want to implement your own replicator see Custom Replicators.
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:51 2008 for Zoidcom by 1.4.6-NO