mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 18:11:28 +01:00
5591c0b5d8
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 |