From 14f32dfc31b65b730fe72d56c28d30222d3e7f2f Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sun, 24 Mar 2013 02:17:05 +0100 Subject: Add sending of updates --- src/babel.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/babel.c') diff --git a/src/babel.c b/src/babel.c index 56d3ba0..4177100 100644 --- a/src/babel.c +++ b/src/babel.c @@ -41,6 +41,17 @@ static void send_hellos(gmrf_t *gmrf, gmrf_context_t *ctx, void *arg) { gp_babel_send_hellos(gmrf, ctx); } +static void send_updates(gmrf_t *gmrf, gmrf_context_t *ctx, void *arg) { + gmrf_schedule(gmrf, send_updates, NULL, GP_BABEL_UPDATE_INTERVAL*10); + + gmrf_logf(gmrf, LOG_DEBUG, "sending periodic updates."); + + gp_babel_iface_t *iface; + for (iface = ctx->interfaces; iface; iface = iface->next) { + gp_babel_send_update(gmrf, ctx, iface, NULL, NULL, false); + } +} + static void maintenance(gmrf_t *gmrf, gmrf_context_t *ctx, void *arg) { gmrf_schedule(gmrf, maintenance, NULL, GP_BABEL_MAINTENANCE_INTERVAL*10); @@ -72,6 +83,7 @@ gmrf_context_t* gmrf_protocol_init(gmrf_t *gmrf) { gmrf_logf(gmrf, LOG_INFO, "initalizing..."); gmrf_schedule(gmrf, send_hellos, NULL, GP_BABEL_HELLO_INTERVAL*10); + gmrf_schedule(gmrf, send_updates, NULL, GP_BABEL_UPDATE_INTERVAL*10); gmrf_schedule(gmrf, maintenance, NULL, GP_BABEL_MAINTENANCE_INTERVAL*10); gmrf_context_t *ctx = calloc(1, sizeof(gmrf_context_t)); -- cgit v1.2.3