dxd - dynax driver framework 3.0.2
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::service::message Struct Reference

the head of every message on a service connection, its data behind it: a request, its reply or the service's broadcast More...

#include <dx_service_message.h>

Public Member Functions

const void* data() const
size_t data_size() const

Static Public Member Functions

static const message* check(const void* data, size_t size) noexcept
 the message the bytes are, where they hold one whole: its stated sizes within the bytes and the bound
static size_t reply(uint32_t ioctl, const void* data, size_t size, void* out, size_t size_out)
 the reply's data taken where it answers the request: its size, its result thrown
static std::vector<uint8_t> request(uint32_t ioctl, const void* data, size_t size, size_t out)
 a request whole: its data behind its head, the most its reply may carry stated

Public Attributes

uint32_t ioctl
 what is asked, the reply carrying it back; dx::ioctl::listen from the service: its broadcast
uint32_t out
 the request: the most its reply may carry; the reply: what it carries
os_result result
 the reply's
uint32_t size
 the whole message, its head included

Static Public Attributes

static constexpr uint32_t limit{1u<< 20}

Detailed Description

the head of every message on a service connection, its data behind it: a request, its reply or the service's broadcast

Every side reads a message as untrusted bytes: trivial types alone, byte identical in every process - 32 and 64 bit, any architecture -, its sizes checked before anything of it is read (check()).

Member Function Documentation

◆ check()

const message* dx::service::message::check(const void* data, size_t size)
inlinestaticnoexcept

the message the bytes are, where they hold one whole: its stated sizes within the bytes and the bound

Here is the call graph for this function:
Here is the caller graph for this function:

◆ data()

const void* dx::service::message::data() const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ data_size()

size_t dx::service::message::data_size() const
inline

◆ reply()

size_t dx::service::message::reply(uint32_t ioctl, const void* data, size_t size, void* out, size_t size_out)
inlinestatic

the reply's data taken where it answers the request: its size, its result thrown

Here is the call graph for this function:
Here is the caller graph for this function:

◆ request()

std::vector<uint8_t> dx::service::message::request(uint32_t ioctl, const void* data, size_t size, size_t out)
inlinestatic

a request whole: its data behind its head, the most its reply may carry stated

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ ioctl

uint32_t dx::service::message::ioctl

what is asked, the reply carrying it back; dx::ioctl::listen from the service: its broadcast

◆ limit

uint32_t dx::service::message::limit{1u<< 20}
staticconstexpr

no message is larger

◆ out

uint32_t dx::service::message::out

the request: the most its reply may carry; the reply: what it carries

◆ result

os_result dx::service::message::result

the reply's

◆ size

uint32_t dx::service::message::size

the whole message, its head included


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