master
cc 38 lines 994 Bytes
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 #include "agent/v1/cmds.pb.h"
4
5 #include "agent_cmds.h"
6
7 #include "schema_wrapper_utils.h"
8
9 using namespace agent::v1;
10
11 int parse_cancel_pending_req(const char *msg, size_t msg_len, struct aclk_cancel_pending_req *req)
12 {
13 CancelPendingRequest msg_parsed;
14
15 if (!msg_parsed.ParseFromArray(msg, msg_len)) {
16 error_report("Failed to parse CancelPendingRequest message");
17 return 1;
18 }
19
20 if (msg_parsed.request_id().c_str() == NULL) {
21 error_report("CancelPendingRequest message missing request_id");
22 return 1;
23 }
24 req->request_id = strdupz(msg_parsed.request_id().c_str());
25
26 if (msg_parsed.trace_id().c_str())
27 req->trace_id = strdupz(msg_parsed.trace_id().c_str());
28
29 set_timeval_from_google_timestamp(msg_parsed.timestamp(), &req->timestamp);
30
31 return 0;
32 }
33
34 void free_cancel_pending_req(struct aclk_cancel_pending_req *req)
35 {
36 freez(req->request_id);
37 freez(req->trace_id);
38 }