23#ifndef SAPI_CHANNEL_LINK_H
24#define SAPI_CHANNEL_LINK_H
202 uint32_t timeout_ms);
sapi_status_t
Common result/status codes.
sapi_status_t sapi_channel_get_health(const sapi_channel_t *handle, sapi_channel_health_t *out_health)
Queries this channel's health statistics.
const char * sapi_channel_get_name(const sapi_channel_t *handle)
Returns this channel's name, as given in sapi_channel_config_t::name at sapi_channel_init() time.
sapi_status_t sapi_channel_set_healthy(sapi_channel_t *handle, bool is_healthy)
Marks this channel healthy/unhealthy.
sapi_status_t sapi_channel_destroy(sapi_channel_t *handle)
Destroys a vital channel instance.
sapi_status_t sapi_channel_send(sapi_channel_t *handle, const void *data, size_t data_size)
Sends data on this channel via its backend send callback.
sapi_status_t sapi_channel_receive(sapi_channel_t *handle, void *data, size_t data_size, uint32_t timeout_ms)
Receives data on this channel via its backend receive callback.
sapi_status_t sapi_channel_init(sapi_channel_storage_t *storage, const sapi_channel_config_t *config)
Initializes one vital channel over a caller-supplied transport.
sapi_status_t(*) sapi_channel_send_fn(void *channel_handle, const void *data, size_t data_size)
Backend send callback: transmits on this channel's underlying transport.
sapi_status_t(*) sapi_channel_recv_fn(void *channel_handle, void *data, size_t data_size, uint32_t timeout_ms)
Backend receive callback: reads from this channel's underlying transport.
sapi_channel_storage_t sapi_channel_t
Opaque handle to a vital channel instance.
Common status/error codes returned by every Safe API Framework function. Shared across all OS Abstrac...
Configuration for sapi_channel_init().
sapi_channel_send_fn send
sapi_channel_recv_fn recv
Health statistics for one vital channel.
uint32_t send_error_count
uint32_t receive_error_count
Storage for one vital channel instance (opaque to caller).
sapi_channel_config_t config
sapi_channel_health_t health