lightningd: tell gossipd that peers we load from db are important.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell
2018-04-25 22:08:38 +09:30
parent 8c2c1fe1c2
commit a1f77cab3c
4 changed files with 13 additions and 21 deletions

View File

@@ -1090,22 +1090,6 @@ static const struct json_command close_command = {
};
AUTODATA(json_command, &close_command);
static void try_reconnect(struct peer *peer)
{
struct lightningd *ld = peer->ld;
u8 *msg;
#if DEVELOPER
/* Don't schedule an attempt if we disabled reconnections with
* the `--dev-no-reconnect` flag */
if (ld->no_reconnect)
return;
#endif /* DEVELOPER */
msg = towire_gossipctl_reach_peer(NULL, &peer->id);
subd_send_msg(ld->gossip, take(msg));
}
static void activate_peer(struct peer *peer)
{
u8 *msg;
@@ -1116,10 +1100,11 @@ static void activate_peer(struct peer *peer)
msg = towire_gossipctl_peer_addrhint(peer, &peer->id, &peer->addr);
subd_send_msg(peer->ld->gossip, take(msg));
/* We can only have one active channel: reconnect if not already. */
/* We can only have one active channel: make sure gossipd
* knows to reconnect. */
channel = peer_active_channel(peer);
if (channel && !channel->owner)
try_reconnect(peer);
if (channel)
tell_gossipd_peer_is_important(ld, channel);
list_for_each(&peer->channels, channel, list) {
/* Watching lockin may be unnecessary, but it's harmless. */