A Handler that supports both read and write transfers.
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 |
|
inlineconstexpr |
Constructs a ReadWriteHandler whose stream will be set later (for example in PrepareRead() or PrepareWrite()).
| [in] | resource_id | Unique ID of the transferable resource. |
|
inline |
Constructs a ReadWriteHandler backed by reader_writer.
| [in] | resource_id | Unique ID of the transferable resource. |
| [in] | reader_writer | Stream used for both reading and writing. |
|
inlineoverridevirtual |
Prepares for a read transfer. Defaults to returning \ref pw::OkStatus() "OK".
Implements pw::transfer::Handler.
|
inlineoverridevirtual |
Prepares for a write transfer. Defaults to returning \ref pw::OkStatus() "OK".
Implements pw::transfer::Handler.
|
inline |
Sets the pw::stream::ReaderWriter used by this handler.
| [in] | reader_writer | Stream used for both reading and writing. |