|
| constexpr | Mpsc () noexcept=default |
| | construct the multiple producer single consumer ring buffer policy by default.
|
| |
| int | tryPush (SharedSegment *segment, const void *element) const noexcept override |
| | try to push element into the ring buffer (lock-free for multiple producers).
|
| |
| constexpr | Spsc () noexcept=default |
| | construct the single producer single consumer ring buffer policy by default.
|
| |
| int | push (SharedSegment *segment, const void *element) const noexcept |
| | push element into the ring buffer.
|
| |
| template<class Rep , class Period > |
| int | timedPush (SharedSegment *segment, const void *element, std::chrono::duration< Rep, Period > timeout) const noexcept |
| | try to push element into the ring buffer until timeout expire.
|
| |
| virtual int | tryPop (SharedSegment *segment, void *element) const noexcept |
| | try to pop element from the ring buffer.
|
| |
| int | pop (SharedSegment *segment, void *element) const noexcept |
| | pop element from the ring buffer.
|
| |
| template<class Rep , class Period > |
| int | timedPop (SharedSegment *segment, void *element, std::chrono::duration< Rep, Period > timeout) const noexcept |
| | try to pop element from the ring buffer until timeout expire.
|
| |
| uint64_t | pending (SharedSegment *segment) const noexcept |
| | get the number of pending elements for reading.
|
| |
| uint64_t | available (SharedSegment *segment) const noexcept |
| | get the number of available slots for writing.
|
| |
| bool | full (SharedSegment *segment) const noexcept |
| | check if the ring buffer is full.
|
| |
| bool | empty (SharedSegment *segment) const noexcept |
| | check if the ring buffer is empty.
|
| |
multiple producer single consumer ring buffer policy.