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