mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 18:11:28 +01:00
22ff007d64
We used to tell connectd to remember our connect delay, and hand it back (increased if necessary). Instead, simply record when we last tried to connect. If it was less than 10 minutes ago, double delay (up to 5 minutes max), otherwise reset delay to 1 second. This covers all scenarios: whether we reconnect then immediately disconnect, or never successfully connect, it doesn't matter. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Fixes: #5453
32 lines
1.0 KiB
C
32 lines
1.0 KiB
C
#ifndef LIGHTNING_LIGHTNINGD_CONNECT_CONTROL_H
|
|
#define LIGHTNING_LIGHTNINGD_CONNECT_CONTROL_H
|
|
#include "config.h"
|
|
#include <ccan/short_types/short_types.h>
|
|
#include <ccan/tal/tal.h>
|
|
#include <common/utils.h>
|
|
|
|
struct lightningd;
|
|
struct peer;
|
|
struct pubkey;
|
|
struct wireaddr_internal;
|
|
|
|
/* Speedy reconnect timeout! */
|
|
#define DEV_FAST_RECONNECT(dev_fast_reconnect_flag, fast, normal) \
|
|
IFDEV((dev_fast_reconnect_flag) ? (fast) : (normal), (normal))
|
|
|
|
/* Returns fd for gossipd to talk to connectd */
|
|
int connectd_init(struct lightningd *ld);
|
|
void connectd_activate(struct lightningd *ld);
|
|
|
|
void try_reconnect(const tal_t *ctx,
|
|
struct peer *peer,
|
|
const struct wireaddr_internal *addrhint);
|
|
void connect_succeeded(struct lightningd *ld, const struct peer *peer,
|
|
bool incoming,
|
|
const struct wireaddr_internal *addr);
|
|
void connect_failed_disconnect(struct lightningd *ld,
|
|
const struct node_id *id,
|
|
const struct wireaddr_internal *addr);
|
|
|
|
#endif /* LIGHTNING_LIGHTNINGD_CONNECT_CONTROL_H */
|