master
c 42 lines 1.75 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 #include "aclk_query_queue.h"
4
5 #include "aclk_contexts_api.h"
6
7 void aclk_send_contexts_snapshot(contexts_snapshot_t data)
8 {
9 aclk_query_t *query = aclk_query_new(CTX_SEND_SNAPSHOT);
10 query->data.bin_payload.topic = ACLK_TOPICID_CTXS_SNAPSHOT;
11 query->data.bin_payload.payload = contexts_snapshot_2bin(data, &query->data.bin_payload.size);
12 query->data.bin_payload.msg_name = "ContextsSnapshot";
13 QUEUE_IF_PAYLOAD_PRESENT(query);
14 }
15
16 void aclk_send_contexts_updated(contexts_updated_t data)
17 {
18 aclk_query_t *query = aclk_query_new(CTX_SEND_SNAPSHOT_UPD);
19 query->data.bin_payload.topic = ACLK_TOPICID_CTXS_UPDATED;
20 query->data.bin_payload.payload = contexts_updated_2bin(data, &query->data.bin_payload.size);
21 query->data.bin_payload.msg_name = "ContextsUpdated";
22 QUEUE_IF_PAYLOAD_PRESENT(query);
23 }
24
25 void aclk_update_node_collectors(struct update_node_collectors *collectors)
26 {
27 aclk_query_t *query = aclk_query_new(UPDATE_NODE_COLLECTORS);
28 query->data.bin_payload.topic = ACLK_TOPICID_NODE_COLLECTORS;
29 query->data.bin_payload.payload = generate_update_node_collectors_message(&query->data.bin_payload.size, collectors);
30 query->data.bin_payload.msg_name = "UpdateNodeCollectors";
31 QUEUE_IF_PAYLOAD_PRESENT(query);
32 }
33
34 void aclk_update_node_info(struct update_node_info *info, struct aclk_sync_completion *sync_completion)
35 {
36 aclk_query_t *query = aclk_query_new(UPDATE_NODE_INFO);
37 query->sync_completion = sync_completion;
38 query->data.bin_payload.topic = ACLK_TOPICID_NODE_INFO;
39 query->data.bin_payload.payload = generate_update_node_info_message(&query->data.bin_payload.size, info);
40 query->data.bin_payload.msg_name = "UpdateNodeInfo";
41 QUEUE_IF_PAYLOAD_PRESENT(query);
42 }