asrt
Automated System Runtime Testing library
Loading...
Searching...
No Matches
asrt::stream_schema< Ts > Struct Template Reference

Compile-time typed stream schema. More...

#include <stream.hpp>

Public Member Functions

ASRT_NODISCARD status emit (Ts... args, callback< asrt_stream_done_cb > done_cb)
 Encode args in-place and send a DATA message using the underlying emit function.
 
ASRT_NODISCARD status emit_raw (uint8_t const *buf, callback< asrt_stream_done_cb > done_cb)
 Emit from a pre-encoded buffer; used internally by stream_emit_sender.
 
stream_schemaoperator= (stream_schema &&o) noexcept
 
stream_schemaoperator= (stream_schema const &)=delete
 
 stream_schema (ref< asrt_stream_client > c, uint8_t id)
 
 stream_schema (ref< asrt_stream_client > client, uint8_t schema_id, callback< asrt_stream_done_cb > done_cb)
 XXX: error handling in constructor is bad.
 
 stream_schema (stream_schema &&o) noexcept
 
 stream_schema (stream_schema const &)=delete
 

Static Public Attributes

static constexpr uint16_t emit_size = ( strm_field_traits< Ts >::size + ... )
 
static constexpr enum asrt_strm_field_type_e fields [] = { strm_field_traits< Ts >::tag... }
 

Detailed Description

template<typename... Ts>
struct asrt::stream_schema< Ts >

Compile-time typed stream schema.

Constructed by stream_define_sender after a successful DEFINE. Provides emit(args..., done_cb, done_ptr) which encodes field values into a fixed-size buffer and sends a DATA message.


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