> I would like for clients and servers to be able to handle requests > anyway they like. Handling a request consists of the following parts and > how and when these parts are executed should be flexible: > - reading the request message header > - asking the function to read its parameters from the input protocol > - executing the function > - writing the response message header (for success and failure) > - asking the function result to write itself to the output protocol This is fine, as long as wire-compatibility is not broken.
> Why does the way in which you handle asynchronous calls in one language > have to resemble how you implement it in other languages? I think we > should design the asynchronous call API for each language separately so > it feels natural to developers using that language. Also some languages > might provide native constructs for asynchronous calls not available in > or widely different from other languages. That's fine. I thought you meant to standardize it across languages when you said: " Each client implementation has to provide its own mechanism now. It would " be nice if Thrift provided standard interfaces (for polling, notifications " or both) for handling asynchronous calls.