Skip to main content

Module ring_buffer

Module ring_buffer 

Source
Expand description

Fixed-size ring buffer for streaming range bars (Issue #96 Task #9)

Replaces unbounded Vec with circular buffer to prevent OOM in long-running sidecars. When full, drops old bars gracefully instead of blocking producers.

Design:

  • Fixed capacity (default 10K bars = 5MB)
  • O(1) push/pop operations
  • Thread-safe via parking_lot::Mutex (Issue #89)
  • Metrics for backpressure, dropped bars, max depth

Structsยง

ConcurrentRingBuffer
Thread-safe wrapper for RingBuffer
RingBuffer
Fixed-size ring buffer with metrics
RingBufferMetrics
Metrics for ring buffer operations
RingBufferSlot
A single slot in the ring buffer