I really think that using async service methods which are matched one to one with the message types that you want to send gives you exactly the semantics that are being requested with very simple implementation cost.
It is important to not get toooo hung up on what RPC stands for. I use async methods all the time to stream data structures for logging and it works great. Moreover, it provides a really simple way of building extractors and processors for this data since I have an interface sitting there that will tell me about all of the methods (data types) that I need to handle or explicitly ignore. So the trick works and works really well. Give it a try! On Tue, Mar 24, 2009 at 8:23 AM, Bryan Duxbury <[email protected]> wrote: > Optional fields are not serialized onto the wire. There is a slight > performance penalty at serialization time if you have a ton of unset fields, > but that's it. > > Am I over complicating things >> > > Personally, sounds like it to me. Why do you need this streaming behavior > or whatnot? Hotwiring the rpc stack to let you send any message you want is > going to be a ton of work and not really that much of a functionality > improvement. > > -Bryan > -- Ted Dunning, CTO DeepDyve
