#include <nxtio/event-queue.hpp>
template <typename T>
event_queue class
Small cancellable async event queue.
Constructors, destructors, conversion operators
- event_queue() defaulted
- Create an open queue.
-
event_queue(const event_
queue&) deleted -
event_queue(event_
queue&&) deleted - ~event_queue()
- Request stop on destruction so pending producers/consumers can wake.
Public functions
-
auto cancel() → nxt::
task - Request cancellation and close the queue.
-
auto close() → nxt::
task - Close the queue without requesting cancellation.
-
auto next() → nxt::
task<std:: optional<T>> - Wait for the next item, or
std::after shutdown.nullopt -
auto operator=(const event_
queue&) → event_ queue& deleted -
auto operator=(event_
queue&&) → event_ queue& deleted -
auto publish(T item) → nxt::
task<bool> - Publish an item. Returns false once the queue is closed or stopped.
- auto stop_requested() const → bool noexcept
- True when cancellation has been requested.
-
auto stop_token() const → std::
stop_token noexcept - Stop token associated with the queue.