ACLK fix error for older compilers (#10470)

* organizes code better and fixes error with older C compilers
This commit is contained in:
Timotej S 2021-01-11 09:01:32 +01:00 committed by GitHub
parent 7481a123dd
commit 6e33f04873
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 47 additions and 40 deletions

View File

@ -713,6 +713,7 @@ set(BACKENDS_PLUGIN_FILES
set(CLAIM_PLUGIN_FILES
claim/claim.c
claim/claim.h
aclk/aclk_rrdhost_state.h
aclk/aclk_common.c
aclk/aclk_common.h
)

View File

@ -524,6 +524,7 @@ PARSER_FILES = \
$(NULL)
ACLK_FILES = \
aclk/aclk_rrdhost_state.h \
aclk/aclk_common.c \
aclk/aclk_common.h \
aclk/aclk_stats.c \

View File

@ -1,7 +1,8 @@
#ifndef ACLK_COMMON_H
#define ACLK_COMMON_H
#include "libnetdata/libnetdata.h"
#include "aclk_rrdhost_state.h"
#include "../daemon/common.h"
extern netdata_mutex_t aclk_shared_state_mutex;
#define ACLK_SHARED_STATE_LOCK netdata_mutex_lock(&aclk_shared_state_mutex)
@ -29,47 +30,9 @@ extern netdata_mutex_t aclk_shared_state_mutex;
#define ACLK_V_COMPRESSION 2
#define ACLK_V_CHILDRENSTATE 3
typedef enum aclk_cmd {
ACLK_CMD_CLOUD,
ACLK_CMD_ONCONNECT,
ACLK_CMD_INFO,
ACLK_CMD_CHART,
ACLK_CMD_CHARTDEL,
ACLK_CMD_ALARM,
ACLK_CMD_CLOUD_QUERY_2,
ACLK_CMD_CHILD_CONNECT,
ACLK_CMD_CHILD_DISCONNECT
} ACLK_CMD;
typedef enum aclk_metadata_state {
ACLK_METADATA_REQUIRED,
ACLK_METADATA_CMD_QUEUED,
ACLK_METADATA_SENT
} ACLK_METADATA_STATE;
typedef enum aclk_agent_state {
ACLK_HOST_INITIALIZING,
ACLK_HOST_STABLE
} ACLK_POPCORNING_STATE;
typedef struct aclk_rrdhost_state {
char *claimed_id; // Claimed ID if host has one otherwise NULL
#ifdef ENABLE_ACLK
// per child popcorning
ACLK_POPCORNING_STATE state;
ACLK_METADATA_STATE metadata;
time_t timestamp_created;
time_t t_last_popcorn_update;
#endif
} aclk_rrdhost_state;
#define ACLK_IS_HOST_INITIALIZING(host) (host->aclk_state.state == ACLK_HOST_INITIALIZING)
#define ACLK_IS_HOST_POPCORNING(host) (ACLK_IS_HOST_INITIALIZING(host) && host->aclk_state.t_last_popcorn_update)
typedef struct rrdhost RRDHOST;
extern struct aclk_shared_state {
// optimization to avoid looping trough hosts
// every time Query Thread wakes up

42
aclk/aclk_rrdhost_state.h Normal file
View File

@ -0,0 +1,42 @@
#ifndef ACLK_RRDHOST_STATE_H
#define ACLK_RRDHOST_STATE_H
#include "../libnetdata/libnetdata.h"
typedef enum aclk_cmd {
ACLK_CMD_CLOUD,
ACLK_CMD_ONCONNECT,
ACLK_CMD_INFO,
ACLK_CMD_CHART,
ACLK_CMD_CHARTDEL,
ACLK_CMD_ALARM,
ACLK_CMD_CLOUD_QUERY_2,
ACLK_CMD_CHILD_CONNECT,
ACLK_CMD_CHILD_DISCONNECT
} ACLK_CMD;
typedef enum aclk_metadata_state {
ACLK_METADATA_REQUIRED,
ACLK_METADATA_CMD_QUEUED,
ACLK_METADATA_SENT
} ACLK_METADATA_STATE;
typedef enum aclk_agent_state {
ACLK_HOST_INITIALIZING,
ACLK_HOST_STABLE
} ACLK_POPCORNING_STATE;
typedef struct aclk_rrdhost_state {
char *claimed_id; // Claimed ID if host has one otherwise NULL
#ifdef ENABLE_ACLK
// per child popcorning
ACLK_POPCORNING_STATE state;
ACLK_METADATA_STATE metadata;
time_t timestamp_created;
time_t t_last_popcorn_update;
#endif /* ENABLE_ACLK */
} aclk_rrdhost_state;
#endif /* ACLK_RRDHOST_STATE_H */

View File

@ -34,7 +34,7 @@ struct pg_cache_page_index;
#include "rrdcalc.h"
#include "rrdcalctemplate.h"
#include "../streaming/rrdpush.h"
#include "../aclk/aclk_common.h"
#include "../aclk/aclk_rrdhost_state.h"
struct context_param {
RRDDIM *rd;