Non-templated base class for ReadFuture<Message> and ResponseFuture<Response>.
Shares the read-claim lifecycle and channel polling logic across all message types.
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 () |
|
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.