update FunctionScheduler to use std::chrono::steady_clock
Summary:
Use std::chrono::steady_clock instead of clock_gettime(CLOCK_MONOTONIC).
In particular this fixes the build on Mac OS X, which doesn't have
CLOCK_MONOTONIC.
This also updates the code to use steady_clock::time_point correctly, instead
of using a raw milliseconds value for time since the epoch.
Test Plan:
Included unit tests, which were copied over from the legacy internal Facebook
(non-folly) version of this code.
Reviewed By: ldbrandy@fb.com
Subscribers: jwatzman, doug, fbcode-common-diffs@, net-systems@, exa, folly-diffs@, yfeldblum, chalfant
FB internal diff:
D2051557
Signature: t1:
2051557:
1431019654:
ee76cfcf8318cc3d8a8d1522b3fc97f08831ecf4