C/C++ API Reference
Loading...
Searching...
No Matches
pw::async2::internal::BaseChannelStorage< T, kCapacity > Class Template Reference
Inheritance diagram for pw::async2::internal::BaseChannelStorage< T, kCapacity >:
pw::containers::StorageBase< kAlignment, kSizeBytes > pw::async2::internal::Channel< T > pw::async2::internal::BaseChannel pw::async2::ChannelStorage< T, kCapacity >

Additional Inherited Members

- Public Member Functions inherited from pw::async2::internal::Channel< T >
Sender< T > CreateSender ()
 
Receiver< T > CreateReceiver ()
 
template<typename U , int &... kExplicitGuard, std::enable_if_t< std::is_same_v<::cpp20::remove_cvref_t< U >, T >, bool > = true>
void PushAndWake (U &&value)
 
template<typename U , int &... kExplicitGuard, std::enable_if_t<!std::is_same_v<::cpp20::remove_cvref_t< U >, T > &&std::is_constructible_v< T, U >, bool > = true>
void PushAndWake (U &&value)
 
void PushAndWake ()
 
template<typename... Args>
void EmplaceAndWake (Args &&... args)
 
auto PopAndWake ()
 
bool full () const
 
uint16_t remaining_capacity ()
 
uint16_t remaining_capacity_locked () const
 
uint16_t capacity () const
 
bool empty ()
 
template<typename U , int &... kExplicitGuard, std::enable_if_t< std::is_same_v<::cpp20::remove_cvref_t< U >, T >, bool > = true>
Status TrySend (U &&value)
 
template<typename U , int &... kExplicitGuard, std::enable_if_t<!std::is_same_v<::cpp20::remove_cvref_t< U >, T > &&std::is_constructible_v< T, U >, bool > = true>
Status TrySend (U &&value)
 
Status TrySend ()
 
std::conditional_t< std::is_void_v< T >, Status, Result< T > > TryReceive ()
 
Result< SendReservation< T > > TryReserveSend ()
 
template<typename... Args>
void CommitReservationAndRemoveRef (Args &&... args)
 
void CommitNotificationReservationAndRemoveRef ()
 
- Public Member Functions inherited from pw::async2::internal::BaseChannel
void lock ()
 
void unlock ()
 
bool is_open ()
 
bool is_open_locked () const
 
bool active_locked () const
 
void RemoveRefAndDestroyIfUnreferenced ()
 
void Close ()
 
void add_send_future (BaseChannelFuture &future)
 
void add_receive_future (BaseChannelFuture &future)
 
void DropReservationAndRemoveRef ()
 
void add_receiver ()
 
void add_sender ()
 
void add_handle ()
 
void add_reservation ()
 
void remove_reservation ()
 
void remove_sender ()
 
void remove_receiver ()
 
void remove_handle ()
 
void add_ref ()
 
- Static Public Attributes inherited from pw::async2::internal::BaseChannel
static constexpr chrono::SystemClock::duration kWaitForever
 
- Protected Member Functions inherited from pw::containers::StorageBase< kAlignment, kSizeBytes >
Storage< kAlignment, kSizeBytes > & storage ()
 
const Storage< kAlignment, kSizeBytes > & storage () const
 
- Protected Member Functions inherited from pw::async2::internal::Channel< T >
constexpr Channel (ChannelDeque< T > &&deque)
 
template<size_t kAlignment, size_t kCapacity>
 Channel (containers::Storage< kAlignment, kCapacity > &storage)
 
Deallocatordeallocator () const
 
- Protected Member Functions inherited from pw::async2::internal::BaseChannel
void WakeOneReceiver ()
 
void WakeOneSender ()
 
uint16_t reservations () const
 

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