Skip to main content
Pigweed's logo Pigweed
code_xml
  1. Home
  2. Reference
  3. C/C++
  4. Comms
  5. pw_transfer
  6. pw::transfer::ReadWriteHandler Class Reference
Loading...
Searching...
No Matches
pw::transfer::ReadWriteHandler Class Reference

Overview

A Handler that supports both read and write transfers.

Inheritance diagram for pw::transfer::ReadWriteHandler:
pw::transfer::Handler pw::IntrusiveForwardList< T >::Item pw::transfer::AtomicFileTransferHandler

Public Member Functions

constexpr ReadWriteHandler (uint32_t resource_id)
 
 ReadWriteHandler (uint32_t resource_id, stream::ReaderWriter &reader_writer)
 
Status PrepareRead () override
 
Status PrepareWrite () override
 
void set_reader_writer (stream::ReaderWriter &reader_writer)
 
- Public Member Functions inherited from pw::transfer::Handler
constexpr uint32_t id () const
 
virtual Status PrepareRead ()=0
 
virtual Status PrepareRead (uint32_t offset)
 
virtual void FinalizeRead (Status status)
 
virtual Status PrepareWrite ()=0
 
virtual Status PrepareWrite (uint32_t offset)
 
virtual Status FinalizeWrite (Status status)
 
virtual size_t ResourceSize () const
 
virtual Status GetStatus (uint64_t &readable_offset, uint64_t &writeable_offset, uint64_t &read_checksum, uint64_t &write_checksum)
 

Additional Inherited Members

- Protected Member Functions inherited from pw::transfer::Handler
constexpr Handler (uint32_t resource_id, stream::Reader *reader)
 
constexpr Handler (uint32_t resource_id, stream::Writer *writer)
 
void set_reader (stream::Reader &reader)
 
void set_writer (stream::Writer &writer)
 
- Protected Member Functions inherited from pw::IntrusiveForwardList< T >::Item
constexpr Item ()=default
 

Constructor & Destructor Documentation

◆ ReadWriteHandler() [1/2]

constexpr pw::transfer::ReadWriteHandler::ReadWriteHandler ( uint32_t  resource_id)
inlineconstexpr

Constructs a ReadWriteHandler whose stream will be set later (for example in PrepareRead() or PrepareWrite()).

Parameters
[in]resource_idUnique ID of the transferable resource.

◆ ReadWriteHandler() [2/2]

pw::transfer::ReadWriteHandler::ReadWriteHandler ( uint32_t  resource_id,
stream::ReaderWriter &  reader_writer 
)
inline

Constructs a ReadWriteHandler backed by reader_writer.

Parameters
[in]resource_idUnique ID of the transferable resource.
[in]reader_writerStream used for both reading and writing.

Member Function Documentation

◆ PrepareRead()

Status pw::transfer::ReadWriteHandler::PrepareRead ( )
inlineoverridevirtual

Prepares for a read transfer. Defaults to returning \ref pw::OkStatus() "OK".

Returns
  • OK: The handler is ready for reading.

Implements pw::transfer::Handler.

◆ PrepareWrite()

Status pw::transfer::ReadWriteHandler::PrepareWrite ( )
inlineoverridevirtual

Prepares for a write transfer. Defaults to returning \ref pw::OkStatus() "OK".

Returns
  • OK: The handler is ready for writing.

Implements pw::transfer::Handler.

◆ set_reader_writer()

void pw::transfer::ReadWriteHandler::set_reader_writer ( stream::ReaderWriter &  reader_writer)
inline

Sets the pw::stream::ReaderWriter used by this handler.

Parameters
[in]reader_writerStream used for both reading and writing.

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