global io executor
authorJames Sedgwick <jsedgwick@fb.com>
Mon, 15 Dec 2014 21:09:47 +0000 (13:09 -0800)
committerJoelMarcey <joelm@fb.com>
Thu, 18 Dec 2014 20:29:40 +0000 (12:29 -0800)
commit3490aa71feab139521c48124f8fba360a0dfc88b
tree71e4a2ef9d79554936be3c3ba7a592987d49a985
parent973d5f6166c4ab4aed4526fe1b0cfbb9e63c4fc8
global io executor

Summary:
This is something we've talked about for a while. It's also an alternative to the mechanism in D1714645.
If we like it, I'll do something similar for a global cpu executor. That functionality should probably just be
baked into Executor itself instead of a separate subclass, which is why the IOExecutor stuff is in Executor.h/.cpp,
because it'll be pretty similar. The main exception is that for getCPUExecutor() you could return a default global
InlineExecutor instead of exploding as in getIOExecutor()

Test Plan: wangle unit, will start plumbing this into the services in #5003045 if we like it

Reviewed By: davejwatson@fb.com

Subscribers: hannesr, trunkagent, fugalh, alandau, mshneer, folly-diffs@, bmatheny

FB internal diff: D1727894

Tasks: 5002442

Signature: t1:1727894:1418344077:9e54088a6acb3f78e53011a32fd1dfe8b3214c1d
folly/Makefile.am
folly/experimental/wangle/concurrent/GlobalExecutor.cpp [new file with mode: 0644]
folly/experimental/wangle/concurrent/GlobalExecutor.h [new file with mode: 0644]
folly/experimental/wangle/concurrent/IOExecutor.cpp [new file with mode: 0644]
folly/experimental/wangle/concurrent/IOExecutor.h [new file with mode: 0644]
folly/experimental/wangle/concurrent/IOThreadPoolExecutor.cpp
folly/experimental/wangle/concurrent/IOThreadPoolExecutor.h
folly/experimental/wangle/concurrent/ThreadPoolExecutor.h
folly/experimental/wangle/concurrent/test/GlobalExecutorTest.cpp [new file with mode: 0644]