Pigweed
 
Loading...
Searching...
No Matches
pw::async2::OnceRefReceiver< T > Class Template Referencefinal

#include <once_sender.h>

Public Member Functions

 OnceRefReceiver (OnceRefReceiver &&other)
 
 OnceRefReceiver (const OnceRefReceiver &)=delete
 
OnceRefReceiveroperator= (const OnceRefReceiver &)=delete
 
OnceRefReceiveroperator= (OnceRefReceiver &&other)=delete
 
Poll< StatusPend (Context &cx)
 

Friends

class OnceRefSender< T >
 
template<typename U >
std::pair< OnceRefSender< U >, OnceRefReceiver< U > > MakeOnceRefSenderAndReceiver (U &)
 
template<typename U >
void InitializeOnceRefSenderAndReceiver (OnceRefSender< U > &sender, OnceRefReceiver< U > &receiver, U &value)
 

Detailed Description

template<typename T>
class pw::async2::OnceRefReceiver< T >

OnceRefReceiver is notified when the paired OnceRefSender modifies a reference. It must be constructed using MakeOnceRefSenderAndReceiver(). OnceRefReceiver::Pend() is used to poll for completion by OnceRefSender. OnceRefReceiver is thread safe and may be used on a different thread than OnceRefSender. However, the referenced value must not be modified from the time of construction until either OnceRefReceiver::Pend() returns Ready() or either of OnceRefReceiver or OnceRefSender is destroyed.

Member Function Documentation

◆ Pend()

template<typename T >
Poll< Status > pw::async2::OnceRefReceiver< T >::Pend ( Context cx)
inline

Returns Ready with an ok status when the modification of the reference is complete. If the sender is destroyed before updating the reference, a cancelled status is returned.


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