mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-19 23:24:27 +01:00
Keeping the uintmap ordering all the broadcastable messages is expensive: 130MB for the million-channels project. But now we delete obsolete entries from the store, we can have the per-peer daemons simply read that sequentially and stream the gossip itself. This is the most primitive version, where all gossip is streamed; successive patches will bring back proper handling of timestamp filtering and initial_routing_sync. We add a gossip_state field to track what's happening with our gossip streaming: it's initialized in gossipd, and currently always set, but once we handle timestamps the per-peer daemon may do it when the first filter is sent. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2.3 KiB
2.3 KiB
| 1 | #include <common/cryptomsg.h> |
|---|---|
| 2 | #include <common/per_peer_state.h> |
| 3 | #include <common/wireaddr.h> |
| 4 | #include <lightningd/gossip_msg.h> |
| 5 | connectctl_init,2000 |
| 6 | connectctl_init,,id,struct node_id |
| 7 | connectctl_init,,num_wireaddrs,u16 |
| 8 | connectctl_init,,wireaddrs,num_wireaddrs*struct wireaddr_internal |
| 9 | connectctl_init,,listen_announce,num_wireaddrs*enum addr_listen_announce |
| 10 | connectctl_init,,tor_proxyaddr,?struct wireaddr |
| 11 | connectctl_init,,use_tor_proxy_always,bool |
| 12 | connectctl_init,,dev_allow_localhost,bool |
| 13 | connectctl_init,,use_dns,bool |
| 14 | connectctl_init,,tor_password,wirestring |
| 15 | # Connectd->master, here are the addresses I bound, can announce. |
| 16 | connectctl_init_reply,2100 |
| 17 | connectctl_init_reply,,num_bindings,u16 |
| 18 | connectctl_init_reply,,bindings,num_bindings*struct wireaddr_internal |
| 19 | connectctl_init_reply,,num_announcable,u16 |
| 20 | connectctl_init_reply,,announcable,num_announcable*struct wireaddr |
| 21 | # Activate the connect daemon, so others can connect. |
| 22 | connectctl_activate,2025 |
| 23 | # Do we listen? |
| 24 | connectctl_activate,,listen,bool |
| 25 | # Connectd->master, I am ready. |
| 26 | connectctl_activate_reply,2125 |
| 27 | # connectd->master: disconnect this peer please (due to reconnect). |
| 28 | connect_reconnected,2112 |
| 29 | connect_reconnected,,id,struct node_id |
| 30 | # Master -> connectd: connect to a peer. |
| 31 | connectctl_connect_to_peer,2001 |
| 32 | connectctl_connect_to_peer,,id,struct node_id |
| 33 | connectctl_connect_to_peer,,seconds_waited,u32 |
| 34 | connectctl_connect_to_peer,,addrhint,?struct wireaddr_internal |
| 35 | # Connectd->master: connect failed. |
| 36 | connectctl_connect_failed,2020 |
| 37 | connectctl_connect_failed,,id,struct node_id |
| 38 | connectctl_connect_failed,,failreason,wirestring |
| 39 | connectctl_connect_failed,,seconds_to_delay,u32 |
| 40 | connectctl_connect_failed,,addrhint,?struct wireaddr_internal |
| 41 | # Connectd -> master: we got a peer. Three fds: peer, gossip and gossip_store |
| 42 | connect_peer_connected,2002 |
| 43 | connect_peer_connected,,id,struct node_id |
| 44 | connect_peer_connected,,addr,struct wireaddr_internal |
| 45 | connect_peer_connected,,pps,struct per_peer_state |
| 46 | connect_peer_connected,,gflen,u16 |
| 47 | connect_peer_connected,,globalfeatures,gflen*u8 |
| 48 | connect_peer_connected,,lflen,u16 |
| 49 | connect_peer_connected,,localfeatures,lflen*u8 |
| 50 | # master -> connectd: peer has disconnected. |
| 51 | connectctl_peer_disconnected,2015 |
| 52 | connectctl_peer_disconnected,,id,struct node_id |
| 53 | # master -> connectd: do you have a memleak? |
| 54 | connect_dev_memleak,2033 |
| 55 | connect_dev_memleak_reply,2133 |
| 56 | connect_dev_memleak_reply,,leak,bool |