Files
lightning/connectd/connect_wire.csv
Rusty Russell b4ed954435 connectd: do socket binding during initial setup.
gossipd does a two-step initialization: it only tries to create the
listening sockets when it's activated.  This means it doesn't know the
addresses to announce until this point.

Now connectd is doing this, this would mean we'd have to tell gossipd
later ("oh, BTW here are your addresses") since we need to start gossipd
before connectd activation.

So make connectd do all the setup, but only actually listen on the fds
once we activate it.  We clone the gossip_init message into
connect_wire.csv.  The master daemon still waits for a reply from
connectd for the activate message, since it wants to be listening
before it prints "Server started".

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-07-25 02:13:52 +00:00

1.4 KiB

1#include <common/wireaddr.h>
2connectctl_init,2000
3connectctl_init,,broadcast_interval,u32
4connectctl_init,,chain_hash,struct bitcoin_blkid
5connectctl_init,,id,struct pubkey
6connectctl_init,,gflen,u16
7connectctl_init,,gfeatures,gflen*u8
8connectctl_init,,lflen,u16
9connectctl_init,,lfeatures,lflen*u8
10connectctl_init,,num_wireaddrs,u16
11connectctl_init,,wireaddrs,num_wireaddrs*struct wireaddr_internal
12connectctl_init,,listen_announce,num_wireaddrs*enum addr_listen_announce
13connectctl_init,,rgb,3*u8
14connectctl_init,,alias,32*u8
15connectctl_init,,update_channel_interval,u32
16connectctl_init,,reconnect,bool
17connectctl_init,,tor_proxyaddr,?struct wireaddr
18connectctl_init,,use_tor_proxy_always,bool
19connectctl_init,,dev_allow_localhost,bool
20connectctl_init,,use_dns,bool
21connectctl_init,,tor_password,wirestring
22# Connectd->master, here are the addresses I bound, can announce.
23connectctl_init_reply,2100
24connectctl_init_reply,,num_bindings,u16
25connectctl_init_reply,,bindings,num_bindings*struct wireaddr_internal
26connectctl_init_reply,,num_announcable,u16
27connectctl_init_reply,,announcable,num_announcable*struct wireaddr
28# Activate the connect daemon, so others can connect.
29connectctl_activate,2025
30# Do we listen?
31connectctl_activate,,listen,bool
32# Connectd->master, I am ready.
33connectctl_activate_reply,2125
34# connectd->master: disconnect this peer please (due to reconnect).
35connect_reconnected,2112
36connect_reconnected,,id,struct pubkey