diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2013-03-24 02:17:05 +0100 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2013-03-24 02:17:05 +0100 |
commit | 14f32dfc31b65b730fe72d56c28d30222d3e7f2f (patch) | |
tree | b9ff071f29de6dded153399d7d78457deae6ac12 /src/babel.c | |
parent | 13b755cd43cc022450abad9d6391ae7d2d731773 (diff) | |
download | babel-14f32dfc31b65b730fe72d56c28d30222d3e7f2f.tar babel-14f32dfc31b65b730fe72d56c28d30222d3e7f2f.zip |
Add sending of updates
Diffstat (limited to 'src/babel.c')
-rw-r--r-- | src/babel.c | 12 |
1 files changed, 12 insertions, 0 deletions
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)); |