thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Qing Yan <>
Subject Oneway/async call guarantee
Date Fri, 23 Jul 2010 03:43:07 GMT

  I have a few question while reading the thrift paper "Additionally,
an async modifier
keyword may be added to a void function, which will generate
code that does not wait for a response from the server. Note that a
pure void function will return a response to the client which guarantees
that the operation has completed on the server side. With
async method calls the client will only be guaranteed that the request
succeeded at the transport layer. (In many transport scenarios
this is inherently unreliable due to the Byzantine Generals’ Problem.
Therefore, application developers should take care only to use
the async optimization in cases where dropped method calls are
acceptable or the transport is known to be reliable.)"

1) Is TCP/Socket transport layer considered to be reliable?

2) In the TCP/Socket case, does it guarantee the request has
successfully reached the other side? or merely means the request has
been successfully wirtten into the local
socket buffer?

Thank you in advance..

View raw message