70typedef void *(*trafilo_state_init_fn)(
const char *key);
111typedef struct trafilo trafilo_t;
146int trafilo_emit(trafilo_t *t,
const char *raw,
size_t len);
A struct to hold event data.
Definition trafilo.h:11
size_t payload_len
Definition trafilo.h:14
void * payload
Definition trafilo.h:13
char * key
Definition trafilo.h:12
struct timespec t_secs
Definition trafilo.h:15
Configuration struct for Trafilo framework.
Definition trafilo.h:81
int recv_timeout_ms
Definition trafilo.h:85
trafilo_event_free_fn event_free
Definition trafilo.h:99
trafilo_sink_fn sink
Definition trafilo.h:101
long slide_interval_ms
Definition trafilo.h:93
trafilo_handle_fn handle
Definition trafilo.h:100
trafilo_state_free_fn state_free
Definition trafilo.h:103
trafilo_parse_fn parse
Definition trafilo.h:98
size_t num_workers
Definition trafilo.h:88
long bucket_idle_timeout_ms
Definition trafilo.h:94
size_t num_buckets
Definition trafilo.h:89
trafilo_state_init_fn state_init
Definition trafilo.h:102
uint16_t port
Definition trafilo.h:84
const char * bind_addr
Definition trafilo.h:83
long window_size_ms
Definition trafilo.h:92
trafilo_config_t config
Definition trafilo.c:12
A result to be piped to sinking module when a window emits.
Definition trafilo.h:21
struct timespec window_start
Definition trafilo.h:24
size_t event_count
Definition trafilo.h:23
const char * key
Definition trafilo.h:22
struct timespec window_end
Definition trafilo.h:25
void *(* trafilo_state_init_fn)(const char *key)
Initialize the state of a bucket, called the first time a key is seen.
Definition trafilo.h:70
int trafilo_run(trafilo_t *trafilo)
Run the framework. Blocks until trafilo_shutdown() is called.
Definition trafilo.c:94
void trafilo_destroy(trafilo_t *t)
Free all resources.
Definition trafilo.c:130
void trafilo_shutdown(trafilo_t *trafilo)
Signal the framework to shut down.
Definition trafilo.c:122
void(* trafilo_handle_fn)(const event_t *event, void *user_state)
Handling callback function provided by user.
Definition trafilo.h:53
int trafilo_emit(trafilo_t *t, const char *raw, size_t len)
Push a raw line into the framework's queue, bypassing the socket.
Definition trafilo.c:154
trafilo_t * trafilo_create(const trafilo_config_t *config)
Create a framework instance.
Definition trafilo.c:49
void(* trafilo_sink_fn)(const char *key, const window_result_t *result, void *user_state)
Sink window callback.
Definition trafilo.h:61
void(* trafilo_state_free_fn)(void *user_state)
Free the user defined state, when a bucket is evicted.
Definition trafilo.h:76
void(* trafilo_event_free_fn)(event_t *event)
Free a user allocated event from memory.
Definition trafilo.h:46
int(* trafilo_parse_fn)(const char *raw, size_t len, event_t **out)
Parse and fillout **out with a fresh event_t.
Definition trafilo.h:40