ecor
Loading...
Searching...
No Matches
ecor::fifo_source< S > Struct Template Reference

FIFO source that implements a scheduler that allows multiple receivers to be scheduled with the same completion signatures, and processes them in FIFO order. More...

#include <ecor.hpp>

Public Types

using completion_sigs = completion_signatures< S... >
 
using sender_type = _ll_sender< S... >
 

Public Member Functions

_ll_sender< S... > schedule () noexcept
 Schedule a new sender with this scheduler.
 
template<typename E1 >
void set_error (E1 &&err)
 Send a set_error signal to the front scheduled receiver. More...
 
void set_stopped ()
 Send a set_stopped signal to the front scheduled receiver. More...
 
template<typename... V>
void set_value (V &&... value)
 Send a set_value signal to the front scheduled receiver. More...
 

Detailed Description

template<signature... S>
struct ecor::fifo_source< S >

FIFO source that implements a scheduler that allows multiple receivers to be scheduled with the same completion signatures, and processes them in FIFO order.

Any completion signal sent to the source is delivered to the front receiver in the queue, and that receiver is unregistered before the signal is sent, so it will only receive the first completion signal sent after it is scheduled.

Member Function Documentation

◆ set_error()

template<signature... S>
template<typename E1 >
void ecor::fifo_source< S >::set_error ( E1 &&  err)
inline

Send a set_error signal to the front scheduled receiver.

The receiver is unregistered before the signal is sent, so it will only receive the first set_error signal sent after it is scheduled.

The error is perfectly forwarded.

◆ set_stopped()

template<signature... S>
void ecor::fifo_source< S >::set_stopped ( )
inline

Send a set_stopped signal to the front scheduled receiver.

The receiver is unregistered before the signal is sent, so it will only receive the first set_stopped signal sent after it is scheduled.

◆ set_value()

template<signature... S>
template<typename... V>
void ecor::fifo_source< S >::set_value ( V &&...  value)
inline

Send a set_value signal to the front scheduled receiver.

The receiver is unregistered before the signal is sent, so it will only receive the first set_value signal sent after it is scheduled.

Arguments are perfectly forwarded.


The documentation for this struct was generated from the following file: