From 0419688b0cb3c20e20cfac131921838a4a8f84b6 Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Tue, 9 Jan 2018 15:45:07 +0100 Subject: [PATCH] gossip: Added --channel-update-interval argument We'll pass this down to gossip and make sure to re-announce/update channels every so often. This is also used as a pruning timer, i.e., channels that have not been updated in 2 x channel-update-interval will be pruned from the local view. Signed-off-by: Christian Decker --- lightningd/lightningd.h | 3 +++ lightningd/options.c | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/lightningd/lightningd.h b/lightningd/lightningd.h index a4708c4e2..479510a7c 100644 --- a/lightningd/lightningd.h +++ b/lightningd/lightningd.h @@ -68,6 +68,9 @@ struct config { /* Disable automatic reconnects */ bool no_reconnect; + + /* Channel update interval */ + u32 channel_update_interval; }; struct lightningd { diff --git a/lightningd/options.c b/lightningd/options.c index ab3e72f76..3e3581fa9 100644 --- a/lightningd/options.c +++ b/lightningd/options.c @@ -343,6 +343,9 @@ static const struct config testnet_config = { /* Automatically reconnect */ .no_reconnect = false, + + /* Send a keepalive update at least every week, prune every twice that */ + .channel_update_interval = 1209600/2, }; /* aka. "Dude, where's my coins?" */ @@ -401,6 +404,9 @@ static const struct config mainnet_config = { /* Automatically reconnect */ .no_reconnect = false, + + /* Send a keepalive update at least every week, prune every twice that */ + .channel_update_interval = 1209600/2, }; static void check_config(struct lightningd *ld) @@ -521,6 +527,12 @@ void register_opts(struct lightningd *ld) "RRGGBB hex color for node"); opt_register_arg("--alias", opt_set_alias, NULL, ld, "Up to 32-byte alias for node"); + + opt_register_arg( + "--channel-update-interval=", opt_set_u32, opt_show_u32, + &ld->config.channel_update_interval, + "Time in seconds between channel updates for our own channels."); + opt_register_logging(ld->log); opt_register_version();