template <typename T>
nxt::detail::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::nullopt after shutdown.
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.