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

Overview

Non-templated base class for WriteReservation and RequestReservationBase<ReaderType>.

Inheritance diagram for pw::rpc2::internal::WriteReservationBase:
pw::rpc2::internal::RequestReservationBase< Reader< ConstBuf > > pw::rpc2::internal::RequestReservationBase< ResponseFuture< ConstBuf > > pw::rpc2::WriteReservation pw::rpc2::internal::RequestReservationBase< Committed > pw::rpc2::ServerStreamReservation< Response > pw::rpc2::UnaryReservation< Response >

Public Types

using iterator = ByteSpan::iterator
 
using const_iterator = ConstByteSpan::iterator
 

Public Member Functions

 WriteReservationBase (const WriteReservationBase &)=delete
 
WriteReservationBase & operator= (const WriteReservationBase &)=delete
 
 WriteReservationBase (WriteReservationBase &&other) noexcept=default
 
WriteReservationBase & operator= (WriteReservationBase &&other) noexcept
 
std::byte * data ()
 Returns a pointer to the start of the reserved write buffer.
 
const std::byte * data () const
 
size_t size () const
 Returns the size of the reserved write buffer in bytes.
 
std::byte & operator[] (size_t index)
 Accesses the byte at index.
 
const std::byte & operator[] (size_t index) const
 
iterator begin ()
 Returns an iterator to the beginning of the reserved buffer.
 
const_iterator begin () const
 
const_iterator cbegin () const
 
iterator end ()
 Returns an iterator to the end of the reserved buffer.
 
const_iterator end () const
 
const_iterator cend () const
 
void Drop ()
 Releases the reservation without sending any data.
 

Protected Member Functions

 WriteReservationBase (transport::WriteReservation &&reservation, OutboundPacket packet, IntrusivePtr< Call > call)
 
RpcResult< IntrusivePtr< Call > > CommitAndTakeCall (size_t size_bytes)
 

Friends

class WriteFutureBase
 

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