LockFreeRingBuffer
Summary:
This introduces a lock-free ring buffer with the following expected semantics:
1. Writers can't block on readers
2. Writers are mostly lock-free
3. Readers can detect if they're being too slow
4. Be usable on Android (TBD but should work as-is with the armeabi-v7a ABI; armeabi (ARMv5) support is explicitly a non-goal)
Non-goals:
1. Match MPMCQueue in level of optimization. There's no need for that yet.
Test Plan: iloveunittests
Reviewed By: ngbronson@fb.com
Subscribers: trunkagent, folly-diffs@, yfeldblum, chalfant
FB internal diff:
D2037718
Signature: t1:
2037718:
1432850250:
c57963510d8cda58edc006f4c3260f5ac34d4996