core-lightning/gossipd/gossip_peerd_wire.csv
Rusty Russell 5591c0b5d8 gossipd: don't send gossip stream, let per-peer daemons read it themselves.
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>
2019-06-04 01:29:39 +00:00

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.
4gossipd_get_update,3501
5gossipd_get_update,,short_channel_id,struct short_channel_id
6# If channel isn't known, update will be empty.
7gossipd_get_update_reply,3601
8gossipd_get_update_reply,,len,u16
9gossipd_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.
13gossipd_local_add_channel,3503
14gossipd_local_add_channel,,short_channel_id,struct short_channel_id
15gossipd_local_add_channel,,remote_node_id,struct node_id
16gossipd_local_add_channel,,satoshis,struct amount_sat
17# Send this channel_update.
18gossipd_local_channel_update,3504
19gossipd_local_channel_update,,short_channel_id,struct short_channel_id
20gossipd_local_channel_update,,disable,bool
21gossipd_local_channel_update,,cltv_expiry_delta,u16
22gossipd_local_channel_update,,htlc_minimum_msat,struct amount_msat
23gossipd_local_channel_update,,fee_base_msat,u32
24gossipd_local_channel_update,,fee_proportional_millionths,u32
25gossipd_local_channel_update,,htlc_maximum_msat,struct amount_msat
26# Update your gossip_store fd: + gossip_store_fd
27gossipd_new_store_fd,3505
28# How much shorter the new store is, so you can offset streaming.
29gossipd_new_store_fd,,offset_shorter,u64