(wangle) cold via
Summary:
Instead of returning a Later, `via` returns a cold future.
This works without keeping a backreference like Later does, because an inactive Future will always activate on destruction. Alternatively we could have an extra Promise, a la Later, and pass that along like Later does, and require launch() at the end (though, implicit launching on destruction would be an option there too).
If you think this approach is viable I'll clean it up on Wednesday: make sure all the calling sites work, etc.
Test Plan:
new unit test
This may fail in contbuild, I haven't done the codemod for calling sites, if there are any.
Reviewed By: hannesr@fb.com
Subscribers: jsedgwick, net-systems@, fugalh, exa
FB internal diff:
D1412499
Tasks:
4480567