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>
1.4 KiB
1.4 KiB
1 | # These must be distinct from WIRE_CHANNEL_ANNOUNCEMENT etc. gossip msgs! |
---|---|
2 | # Channel daemon can ask for updates for a specific channel, for sending |
3 | # errors. |
4 | gossipd_get_update,3501 |
5 | gossipd_get_update,,short_channel_id,struct short_channel_id |
6 | # If channel isn't known, update will be empty. |
7 | gossipd_get_update_reply,3601 |
8 | gossipd_get_update_reply,,len,u16 |
9 | gossipd_get_update_reply,,update,len*u8 |
10 | # Both sides have seen the funding tx being locked, but we have not |
11 | # yet reached the announcement depth. So we add the channel locally so |
12 | # we (and peer) can update it already. |
13 | gossipd_local_add_channel,3503 |
14 | gossipd_local_add_channel,,short_channel_id,struct short_channel_id |
15 | gossipd_local_add_channel,,remote_node_id,struct node_id |
16 | gossipd_local_add_channel,,satoshis,struct amount_sat |
17 | # Send this channel_update. |
18 | gossipd_local_channel_update,3504 |
19 | gossipd_local_channel_update,,short_channel_id,struct short_channel_id |
20 | gossipd_local_channel_update,,disable,bool |
21 | gossipd_local_channel_update,,cltv_expiry_delta,u16 |
22 | gossipd_local_channel_update,,htlc_minimum_msat,struct amount_msat |
23 | gossipd_local_channel_update,,fee_base_msat,u32 |
24 | gossipd_local_channel_update,,fee_proportional_millionths,u32 |
25 | gossipd_local_channel_update,,htlc_maximum_msat,struct amount_msat |
26 | # Update your gossip_store fd: + gossip_store_fd |
27 | gossipd_new_store_fd,3505 |
28 | # How much shorter the new store is, so you can offset streaming. |
29 | gossipd_new_store_fd,,offset_shorter,u64 |