#include <non_blocking.h>
Inherits ringbuffer::AbstractWriter.
|
| NonBlockingWriter (const WriterPtr &writer) |
|
virtual WriteMarker | prepare (ringbuffer::Message m, size_t total_size, bool, size_t *identifier=nullptr) override |
|
virtual void | finish (const WriteMarker &marker) override |
|
virtual WriteMarker | write_bytes (const WriteMarker &marker, const uint8_t *bytes, size_t size) override |
|
size_t | get_max_message_size () override |
|
bool | try_flush_pending () |
|
virtual | ~AbstractWriter ()=default |
|
template<typename Serializer , typename... Ts> |
void | write_with (Message m, Ts &&... ts) |
|
template<typename Serializer , typename... Ts> |
bool | try_write_with (Message m, Ts &&... ts) |
|
template<typename... Ts> |
void | write (Message m, Ts &&... ts) |
|
template<typename... Ts> |
bool | try_write (Message m, Ts &&... ts) |
|
◆ NonBlockingWriter()
ringbuffer::NonBlockingWriter::NonBlockingWriter |
( |
const WriterPtr & |
writer | ) |
|
|
inline |
◆ finish()
virtual void ringbuffer::NonBlockingWriter::finish |
( |
const WriteMarker & |
marker | ) |
|
|
inlineoverridevirtual |
◆ get_max_message_size()
size_t ringbuffer::NonBlockingWriter::get_max_message_size |
( |
| ) |
|
|
inlineoverridevirtual |
◆ prepare()
Implementation requires 3 methods - prepare, finish, and write_bytes. For each message, prepare will be called with the total message size. It should return a WriteMarker for this reservation. That WriteMarker will be passed to write_bytes, which may be called repeatedly for each part of the message. write_bytes returns an opaque WriteMarker which will be passed to the next invocation of write_bytes, to track progress. Finally, finish will be called with the WriteMarker initially returned from prepare.
Implements ringbuffer::AbstractWriter.
◆ try_flush_pending()
bool ringbuffer::NonBlockingWriter::try_flush_pending |
( |
| ) |
|
|
inline |
◆ write_bytes()
virtual WriteMarker ringbuffer::NonBlockingWriter::write_bytes |
( |
const WriteMarker & |
marker, |
|
|
const uint8_t * |
bytes, |
|
|
size_t |
size |
|
) |
| |
|
inlineoverridevirtual |
The documentation for this class was generated from the following file: