From e95a4caabe12640801d3c58a3f020ba37d26e95b Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Tue, 13 Aug 2019 17:07:52 +0200 Subject: [PATCH] WIP thunder algo --- src/algo_thunder.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/algo_thunder.c b/src/algo_thunder.c index 7956afc..ad94bac 100644 --- a/src/algo_thunder.c +++ b/src/algo_thunder.c @@ -5,8 +5,24 @@ #include "proxy.h" #include "timer.h" +struct thunder_ctx { + uint16_t recv_id; + uint16_t emit_id; +}; + void prepare(struct evt_core_ctx* ctx, struct evt_core_fdinfo* fdinfo, struct buffer_packet* bp) { + struct algo_ctx* app_ctx = fdinfo->cat->app_ctx; + struct thunder_ctx* thunderc = app_ctx->misc; + + thunderc->emit_id++; + union abstract_packet metadata = { + .fmt.headers.cmd = CMD_UDP_METADATA_THUNDER, + .fmt.headers.size = sizeof(metadata.fmt.headers) + sizeof(metadata.fmt.content.udp_metadata_thunder), + .fmt.headers.flags = 0, + .fmt.content.udp_metadata_thunder.id = thunderc->emit_id, + .fmt.content.udp_metadata_thunder.deltat = 0 + }; } void pad(struct evt_core_ctx* ctx, struct evt_core_fdinfo* fdinfo, struct buffer_packet* bp) { @@ -20,6 +36,12 @@ int schedule(struct evt_core_ctx* ctx, struct evt_core_fdinfo* fdinfo, struct bu } void algo_thunder_init(struct evt_core_ctx* ctx, struct algo_ctx* app_ctx, struct algo_params* ap) { + app_ctx->misc = malloc(sizeof(struct thunder_ctx)); + if (app_ctx->misc == NULL) { + perror("malloc failed in algo thunder init"); + exit(EXIT_FAILURE); + } + memset(app_ctx->misc, 0, sizeof(struct thunder_ctx)); }