Skip to main content
Pigweed's logo Pigweed
code_xml
  1. Home
  2. Reference
  3. C/C++
  4. pw::rpc2::internal::ReadFutureBase Class Reference
Loading...
Searching...
No Matches
pw::rpc2::internal::ReadFutureBase Class Reference

Overview

Non-templated base class for ReadFuture<Message> and ResponseFuture<Response>.

Shares the read-claim lifecycle and channel polling logic across all message types.

Inheritance diagram for pw::rpc2::internal::ReadFutureBase:
pw::rpc2::internal::FutureBase pw::rpc2::ReadFuture< Message > pw::rpc2::internal::ResponseFutureBase pw::rpc2::ResponseFuture< ConstBuf > pw::rpc2::ResponseFuture< Response >

Public Member Functions

 ReadFutureBase (const ReadFutureBase &)=delete
 
ReadFutureBase & operator= (const ReadFutureBase &)=delete
 
- Public Member Functions inherited from pw::rpc2::internal::FutureBase
 FutureBase (const FutureBase &)=delete
 
FutureBase & operator= (const FutureBase &)=delete
 
constexpr bool is_pendable () const
 
constexpr bool is_complete () const
 

Protected Member Functions

 ReadFutureBase (const IntrusivePtr< Call > &call)
 
 ReadFutureBase (IntrusivePtr< Call > &&call)
 
 ReadFutureBase (ReadFutureBase &&other) noexcept=default
 
ReadFutureBase & operator= (ReadFutureBase &&other) noexcept
 
async2::Poll< RpcResult< ConstBuf > > PendRaw (async2::Context &cx)
 
void PendAndDeserialize (async2::Context &cx, void *result_out, DeserializeFn deserialize)
 
- Protected Member Functions inherited from pw::rpc2::internal::FutureBase
constexpr FutureBase (async2::FutureState::Pending)
 
constexpr FutureBase (async2::FutureState state)
 
constexpr FutureBase (FutureBase &&) noexcept=default
 
constexpr FutureBase & operator= (FutureBase &&) noexcept=default
 
constexpr void mark_pending ()
 
void mark_complete ()
 

Constructor & Destructor Documentation

◆ ReadFutureBase()

pw::rpc2::internal::ReadFutureBase::ReadFutureBase ( const IntrusivePtr< Call > &  call)
inlineexplicitprotected

Claims the call's read. The read side stays open after this future resolves; closing it is up to whatever owns the read side: a Reader, or a ResponseFuture, which owns it itself.


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