On 16. May 2012, at 19:38, Matteo Hausner wrote: >> If you've had a previous object which you are going to abandon, you have to >> unmap/release it. The design looks somewhat fishy, since you're recreating >> children objects when a child changes? I would expect this to happen only if >> the child itself is a different object. > > You are right, I guess I didn't really think this through... > This must also be the reason why manipulations on graph nodes are only > passed on, if I set the dirty bits for children on all nodes residing > above them in the graph. > However I can't really figure out a way to implement a correct > synchronization behavior, without creating a new node instance every > time.
The general logic should be to sync() the child if only the version changed, and to create a new one if the id changed. The full code might be a bit hairy at the end, depending on you implementation details. > I would be super happy, if you could give me some more advice on how > to implement a correct commit / synchronization behavior for a > distributed graph in Equalizer... The details you'll have to decide on yourself, I'm afraid. It's always a bit different, depending on your use case. The co::DataO/IStream::(de)serializeChildren might help as an inspiration. HTH, Stefan. _______________________________________________ eq-dev mailing list [email protected] http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev http://www.equalizergraphics.com

