netdata/aclk/schema-wrappers/connection.h

48 lines
1.1 KiB
C

// SPDX-License-Identifier: GPL-3.0-or-later
#ifndef ACLK_SCHEMA_WRAPPER_CONNECTION_H
#define ACLK_SCHEMA_WRAPPER_CONNECTION_H
#include "capability.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
const char *claim_id;
unsigned int reachable:1;
int64_t session_id;
unsigned int lwt:1;
struct capability *capabilities;
// TODO in future optional fields
// > 15 optional fields:
// How long the system was running until connection (only applicable when reachable=true)
// google.protobuf.Duration system_uptime = 15;
// How long the netdata agent was running until connection (only applicable when reachable=true)
// google.protobuf.Duration agent_uptime = 16;
} update_agent_connection_t;
char *generate_update_agent_connection(size_t *len, const update_agent_connection_t *data);
struct disconnect_cmd {
uint64_t reconnect_after_s;
int permaban;
uint32_t error_code;
char *error_description;
};
struct disconnect_cmd *parse_disconnect_cmd(const char *data, size_t len);
#ifdef __cplusplus
}
#endif
#endif /* ACLK_SCHEMA_WRAPPER_CONNECTION_H */