future_* callbacks in ThreadManager thread
authorJames Sedgwick <jsedgwick@fb.com>
Thu, 11 Dec 2014 03:23:24 +0000 (19:23 -0800)
committerDave Watson <davejwatson@fb.com>
Thu, 11 Dec 2014 16:02:15 +0000 (08:02 -0800)
commitc2132bba2689552bfd6e07eb70f36bc91ddb43ef
tree470b6787af80a795b404874610f391a815184db5
parenteae5ede6dcdd1401daa7732c72196eb9540cb736
future_* callbacks in ThreadManager thread

Summary:
This is a squashed diff consisting of the following approved diffs

D1714007
D1714645
D1715686
D1719963
D1720725
D1721838
D1721856
D1721920
D1721956
D1724910
D1728289

- execute future_* handlers in TM thread
- call async thrift clients from any thread, not just EB thread
- store a request's EventBase in the RequestContext for easier client management
* this last one will change in favor of using a global IO executor but this should still land as an intermediate step. See D1727894

Test Plan: see component diff test plans. otherwise, contbuild.

Reviewed By: davejwatson@fb.com

Subscribers: trunkagent, ruibalp, targeting-diff-backend@, hannesr, alandau, prometheus-diffs@, jeremyfein, mshneer, folly-diffs@, bmatheny, tingy

FB internal diff: D1732289

Tasks: 50030455645785

Signature: t1:1732289:1418253508:30b724a91717cf7fe21029e0a1eaf239db1650be
folly/io/async/EventBase.h