serialization of complex types

Issue #176 resolved
Steven Hofmeyr created an issue

John has given me access to a branch of his that has serialization for complex types working with UPCXX_REFLECTED. He has indicated this is a "hidden" feature and could change. It also appears to not be present everywhere.

This is a critical feature for making RPCs easy to use, and I'd like to request that a decision be made about what this is going to look like so we don't have to expect code breakage in future. It would also be good if this was guaranteed to be in every future release.

Comments (6)

  1. Dan Bonachea

    I agree that serialization for user-defined types is an important feature that we need to specify and implement. We should plan to discuss this topic and where it fits in our roadmap during a meeting soon.

    I suspect the unspecified UPCXX_REFLECTED() macro is sufficient for simple types whose fields are all DefinitelySerializable types (including STL containers), but may not be sufficiently general to enable "deep serialization" of more complex user-defined types (eg containing a field that is a C++ pointer to a separate or embedded subobject). We should plan out our fully general solution and avoid proliferating incomplete solutions that may turn out to be obsolescent moving forward.

  2. Steven Hofmeyr reporter

    A general solution is indeed the ultimate goal. However, even a mechanism that enables serialization in the simpler case you indicate would be a lot better than what is currently in the official release. I think that, if possible, we should have a means of providing whatever we can in the interim, and plan to have backwards compatibility so that when full serialization support is finally implemented, previous codes can still work.

  3. Log in to comment