C/C++ API Reference
Loading...
Searching...
No Matches
Built-in pendables

Oveview

Async operations that can be polled for completion and suspended. Learn more: The pendable function interface

Classes

class  pw::async2::OnceSender< T >
 
class  pw::async2::OnceReceiver< T >
 
class  pw::async2::OnceRefSender< T >
 
class  pw::async2::OnceRefReceiver< T >
 
class  pw::async2::SimulatedTimeProvider< Clock >
 A simulated TimeProvider suitable for testing APIs which use Timer. More...
 
class  pw::async2::TimeFuture< Clock >
 
class  pw::async2::TimeProvider< Clock >
 

Functions

pw::sync::InterruptSpinLockpw::async2::sender_receiver_lock ()
 
template<typename T >
std::pair< OnceSender< T >, OnceReceiver< T > > pw::async2::MakeOnceSenderAndReceiver ()
 Construct a pair of OnceSender and OnceReceiver.
 
template<typename T >
void pw::async2::InitializeOnceSenderAndReceiver (OnceSender< T > &sender, OnceReceiver< T > &receiver)
 Initialize a pair of OnceSender and OnceReceiver.
 
template<typename T >
std::pair< OnceRefSender< T >, OnceRefReceiver< T > > pw::async2::MakeOnceRefSenderAndReceiver (T &value)
 
template<typename T >
void pw::async2::InitializeOnceRefSenderAndReceiver (OnceRefSender< T > &sender, OnceRefReceiver< T > &receiver, T &value)
 
TimeProvider< chrono::SystemClock > & pw::async2::GetSystemTimeProvider ()
 Returns a TimeProvider using the "real" SystemClock and SystemTimer.
 
void pw::async2::TimeProvider< Clock >::RunExpired (typename Clock::time_point now)
 

Function Documentation

◆ InitializeOnceRefSenderAndReceiver()

template<typename T >
void pw::async2::InitializeOnceRefSenderAndReceiver ( OnceRefSender< T > &  sender,
OnceRefReceiver< T > &  receiver,
T &  value 
)

Initialize a pair of OnceRefSender and OnceRefReceiver.

Parameters
[in]valueThe reference to be mutated by the sender. It must mot be read or modified until either OnceRefSender indicates Ready() or either the OnceRefSender or OnceRefReceiver is destroyed.

◆ MakeOnceRefSenderAndReceiver()

template<typename T >
std::pair< OnceRefSender< T >, OnceRefReceiver< T > > pw::async2::MakeOnceRefSenderAndReceiver ( T &  value)

Constructs a joined pair of OnceRefSender and OnceRefReceiver.

Parameters
[in]valueThe reference to be mutated by the sender. It must mot be read or modified until either OnceRefSender indicates Ready() or either the OnceRefSender or OnceRefReceiver is destroyed.

◆ RunExpired()

template<typename Clock >
void pw::async2::TimeProvider< Clock >::RunExpired ( typename Clock::time_point  now)
protected

Run all expired timers with the current (provided) time_point.

This method should be invoked by subclasses when DoInvokeAt's timer expires.