Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
I propose Thrift be enhanced by allowing the server and client to exist in the same thread.
The user semantics would be similar to foreign function interfaces, such as those generated by SWIG.
Please see this SO question: http://stackoverflow.com/questions/21211749/running-apache-thrift-in-a-single-process-as-a-foreign-function-interface
Use case 1:
Bob writes a CLI Python app that depends on C++ code.
His users integrate his app into shell scripts, and are happy they don't have to worry about starting and stopping a Thrift server.
Use case 2:
Alice is an iOS developer who wants to combine Haskell and C.
Forking processes isn't allowed in iOS, so before she couldn't start a Thrift server and get the desired combination.
But now everything can live in a single thread, so she gets her polyglot programming.