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::WriteOnlyHandler Class Reference
Loading...
Searching...
No Matches
pw::transfer::WriteOnlyHandler Class Reference

Overview

A Handler that only supports write transfers (PrepareRead returns \ref pw::Status::PermissionDenied() "PERMISSION_DENIED").

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

Public Member Functions

constexpr WriteOnlyHandler (uint32_t resource_id)
 
constexpr WriteOnlyHandler (uint32_t resource_id, stream::Writer &writer)
 
Status PrepareRead () final
 
Status PrepareWrite () override
 
void set_writer (stream::Writer &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

◆ WriteOnlyHandler() [1/2]

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

Constructs a WriteOnlyHandler whose writer will be set later (for example in PrepareWrite()).

Parameters
[in]resource_idUnique ID of the transferable resource.

◆ WriteOnlyHandler() [2/2]

constexpr pw::transfer::WriteOnlyHandler::WriteOnlyHandler ( uint32_t  resource_id,
stream::Writer &  writer 
)
inlineconstexpr

Constructs a WriteOnlyHandler backed by writer.

Parameters
[in]resource_idUnique ID of the transferable resource.
[in]writerStream to which transfer data will be written.

Member Function Documentation

◆ PrepareRead()

Status pw::transfer::WriteOnlyHandler::PrepareRead ( )
inlinefinalvirtual

Rejects read transfers.

Returns

Implements pw::transfer::Handler.

◆ PrepareWrite()

Status pw::transfer::WriteOnlyHandler::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_writer()

void pw::transfer::Handler::set_writer ( stream::Writer &  writer)
inline

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

Parameters
[in]writerStream to which transfer data will be written.

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