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