I like the full-duplex approach but the fact that the pattern of
communication is not explicitly captured in the IDL means that client code
has to be responsible for correlating messages, and synchronization.  Using
oneway messages also makes it more difficult to ensure that errors are
reported accurately since they won't be propagated through the Thrift stack
natively.

Jeff.

On Mon, Mar 1, 2010 at 10:28 AM, Aron Sogor <big...@gmail.com> wrote:

> I was wondering. I think you can achieve streaming already without the need
> to bloat a fairly compact stack.
>
> Here is the idea:
>
> GameServer
> {
>   oneway sendClientRequest(dosomething)
> }
>
> GameClient
> {
>   oneway sendClientResponse(didSomthing)
> }
>
> using a simple full duplex connection:
>
> client - > server (client[outputstream] -> server[inputstream])
> server -> client  client[input stream] <- server[outputstream])
>
> it is async, and works with existing syntax thrift... etc.
>

Reply via email to