Replace Later in tcc
authorHans Fugal <fugalh@fb.com>
Wed, 3 Dec 2014 17:38:47 +0000 (09:38 -0800)
committerDave Watson <davejwatson@fb.com>
Thu, 11 Dec 2014 15:59:14 +0000 (07:59 -0800)
commit6fdeaebacf7f89fd40a3c866a7f60eee66a805d5
treee32181081171b4be10aa5437c8f7cb4695808451
parentc5dea7b63c6727382c9d6383e1cdc58f7cf1e290
Replace Later in tcc

Summary:
s/`sendAsyncLater`/`sendAsyncVia`/ and change it to return a cold future with equivalent semantics. We have to call `via` twice in the implementation—once to gate the result and again to make sure the caller will get a future that executes in that executor's context also.

NB this is a slight semantic change - if the executor is, say, a threadpool then now it will go through the threadpool queue (and maybe execute in two different threads) whereas before the whole later chain would execute in the same thread. I don't *think* this is a problem, but something to think about.

Test Plan:
stuff we fbconfig'd builds
contbuild
unit tests
thinking really hard

Reviewed By: hannesr@fb.com

Subscribers: trunkagent, fbcode-common-diffs@, net-systems@, ldbrandy, hannesr, fugalh, zhuohuang, exa, watashi, smarlow, akr, bnitka, jcoens, darshan, njormrod, anfarmer, folly-diffs@

FB internal diff: D1644012

Tasks: 5409538

Signature: t1:1644012:1417625401:99b1b7df6de4cfcdd945eed7104d4c82e8c0b78f
folly/wangle/Future.h