• Delyan Kratunov's avatar
    LockFreeRingBuffer · fff701bf
    Delyan Kratunov authored
    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
    fff701bf
TurnSequencer.h 9.62 KB