Tim,

Sorry for the delayed response. We normally try to answer in a more timely 
fashion ;-)

> so I’ve recently started sending my own data structures (class instances)
> across components using simple const ref parameters in the action
> invocations. (Using latest 0.9.11 release version).
> 
> Across localities, the serialize (or load/save) methods work pretty well.
> 
> I was wondering: What *exactly* happens backstage when both sending and
> receiving components reside on the same locality?  I guess objects are
> copy-constructed, but I was unable to find clear documentation on this
> behaviour.

No serialization is performed in this case. The arguments are passed through 
just like in normal C++ code. Note, that as actions are always invoked 
asynchronously, all arguments are either being copied or moved (depending on 
the call context and the way the type is implemented). 

> To me, this is especially important if my data structures are not just
> plain old data, and automatically compiler-generated constructors, copy-
> constructors, move-constructor, assignment operators or move assignment
> operators do not suffice.
> 
> I think a small chapter on how to (properly) use serialization would make
> a great addition to the manual.  Also regarding performance, some notes on
> best practices or common pitfalls would be nice.

Good point. I will add that to the list of things to write about. 

Regards Hartmut
---------------
http://boost-spirit.com
http://stellar.cct.lsu.edu



_______________________________________________
hpx-users mailing list
[email protected]
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

Reply via email to