asrt
Automated System Runtime Testing library
Loading...
Searching...
No Matches
asrt_param_client Struct Reference

Param client module — PARAM channel, reactor side. More...

#include <param.h>

Public Attributes

uint8_t * cache_buf
 
uint32_t cache_capacity
 
uint32_t cache_len
 
asrt_flat_id cache_next_sibling
 
struct asrt_param_find_by_key_msg find_by_key_msg
 
struct asrt_node node
 
struct asrt_param_querypending_query
 
struct asrt_u8d5msg query_msg
 
int ready
 
struct asrt_u8d5msg ready_ack_msg
 
asrt_flat_id root_id
 
enum asrt_param_client_state state
 
union {
   struct {
      uint8_t   error_code
 
      asrt_flat_id   node_id
 
   }   error
 
   asrt_flat_id   root_id
 
state_data
 
uint32_t timeout
 

Detailed Description

Param client module — PARAM channel, reactor side.

Once the controller sends READY (advertising a root node ID), the client can issue QUERY and FIND_BY_KEY requests. Responses are cached in an internal buffer; callbacks fire when the response has been decoded.

Repeated queries for the same node are served directly from the cache without a wire round-trip. The cache holds the most recent RESPONSE payload; a query hits the cache when the requested node_id matches one of the entries already decoded there.

The cache is valid for the lifetime of one READY session. When a new READY arrives (e.g. at the start of each test run) the root_id is updated and the cache is cleared, so the first query for any node in the new tree always goes over the wire.


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