1 #ifndef EVEL_THROTTLE_INCLUDED 2 #define EVEL_THROTTLE_INCLUDED 50 #define EVEL_JSON_STACK_DEPTH 10 55 #define EVEL_MAX_RESPONSE_TOKENS 1024 196 const int num_tokens,
214 const char *
const field_name);
225 const char *
const field_name,
226 const char *
const name);
EVEL_EVENT_DOMAINS
Event domains for the various events we support.
EVEL_JSON_STATE
The nature of the next token that we are iterating through.
EVEL_JSON_STATE json_state
An entry in the JSON stack.
A chunk of memory used in the cURL functions.
bool evel_handle_command_list(const MEMORY_CHUNK *const chunk, const jsmntok_t *const json_tokens, const int num_tokens, MEMORY_CHUNK *const post)
Handle a JSON response from the listener, as a list of tokens from JSMN.
void evel_throttle_terminate()
Clean up event throttling.
struct evel_json_stack EVEL_JSON_STACK
The JSON stack.
Event Throttling Specification for a domain which is in a throttled state.
#define EVEL_JSON_STACK_DEPTH
bool evel_throttle_suppress_nv_pair(EVEL_THROTTLE_SPEC *throttle_spec, const char *const field_name, const char *const name)
Determine whether a name-value pair should be allowed (not suppressed).
EVEL_JSON_COMMAND_STATE
States which we move through during JSON processing, tracking our way through the supported JSON stru...
void evel_throttle_initialize()
Initialize event throttling to the default state.
EVEL internal definitions.
const MEMORY_CHUNK * chunk
bool evel_throttle_suppress_field(EVEL_THROTTLE_SPEC *throttle_spec, const char *const field_name)
Determine whether a field_name should be suppressed.
EVEL_THROTTLE_SPEC * evel_get_throttle_spec(EVEL_EVENT_DOMAINS domain)
Return the EVEL_THROTTLE_SPEC for a given domain.
struct evel_json_stack_entry EVEL_JSON_STACK_ENTRY
An entry in the JSON stack.