
"Jarl Lindrud" <jlindrud@hotmail.com> wrote in message news:loom.20050302T105454-130@post.gmane.org...
Johan Nilsson <johan.nilsson <at> esrange.ssc.se> writes:
Just a couple of quick questions after scanning the article:
- Does/could the library support custom marshaling on a per-object and/or interface basis - I'd be specifically interested in MBV (Marshal By Value)? - Did you implement portable, binary serialization?
// Johan
I think it would be relatively straightforward to support something like MBV. The machinery is already there, it would just need to be applied a bit differently.
Sorry for not taking the time to read through the implementation, but I have another couple of questions: - Is it possible to return an interface as an [out] parameter, receiving a proxy to a remoted object? - Is it possible to pass an interface as an [in] parameter, having the receiver receive a proxy to the original object? - Did you consider implement cross-process reference counted lifetime management (ala DCOM)? - Did you consider specific support for cross-apartment marshalling (sorry for all DCOM terms, but that's what I've been using in the past)? That is, did you consider different threading models, so that single threaded applications only would receive callbacks in the context of the main thread?
Yeah, I implemented portable binary serialization, along with native binary and text serialization. I had some performance issues with boost serialization, it seems as if the boost archives are not well optimized to what I'm doing, which is creating thousands of archives per second, and then serializing a small amount of data to/from them. I haven't looked closely enough yet to say where the bottleneck is, though.
Lastly, are these implementations available in the download and, under what kind of license is the current implementation distributed (I'd like to try it out in a current in-house project)? / Johan