rust-lightning/lightning/src/util
Matt Corallo 7717fa23a8 Backfill gossip without buffering directly in LDK
Instead of backfilling gossip by buffering (up to) ten messages at
a time, only buffer one message at a time, as the peers' outbound
socket buffer drains. This moves the outbound backfill messages out
of `PeerHandler` and into the operating system buffer, where it
arguably belongs.

Not buffering causes us to walk the gossip B-Trees somewhat more
often, but avoids allocating vecs for the responses. While its
probably (without having benchmarked it) a net performance loss, it
simplifies buffer tracking and leaves us with more room to play
with the buffer sizing constants as we add onion message forwarding
which is an important win.

Note that because we change how often we check if we're out of
messages to send before pinging, we slightly change how many
messages are exchanged at once, impacting the
`test_do_attempt_write_data` constants.
2022-08-15 21:35:05 +00:00
..
atomic_counter.rs Move the two-AtomicUsize counter in peer_handler to a util struct 2021-10-18 22:04:56 +00:00
byte_utils.rs Move the two-AtomicUsize counter in peer_handler to a util struct 2021-10-18 22:04:56 +00:00
chacha20.rs Drop fuzztarget feature entirely 2022-02-18 17:03:04 +00:00
chacha20poly1305rfc.rs Enable simultaneous deserialization+decryption of a ChaChaPoly stream 2022-06-21 17:08:28 -04:00
config.rs Add config support for 'their_channel_reserve_proportional_millionths' [#1498] 2022-08-02 14:33:01 -07:00
crypto.rs bitcoin crate 0.28.1 2022-05-05 18:04:42 +02:00
enforcing_trait_impls.rs bitcoin crate 0.28.1 2022-05-05 18:04:42 +02:00
errors.rs Add mpp_timeout and invalid_onion_payload descriptions & handling 2021-12-14 21:11:32 +02:00
events.rs Add HTLCHandlingFailed event 2022-07-25 10:22:43 -07:00
fairrwlock.rs Fix unused code warnings. 2022-05-13 18:03:51 +02:00
fuzz_wrappers.rs Drop fuzztarget feature entirely 2022-02-18 17:03:04 +00:00
invoice.rs Improve KeysInterface::sign_invoice API 2022-01-24 09:48:56 +01:00
logger.rs Support building cfg=c_bindings with no-std 2022-01-05 07:24:46 +00:00
macro_logger.rs bitcoin crate 0.28.1 2022-05-05 18:04:42 +02:00
message_signing.rs bitcoin crate 0.28.1 2022-05-05 18:04:42 +02:00
mod.rs move Time trait from scoring mod to util::time and set it visibile within crate 2022-05-14 09:52:59 +07:00
persist.rs Parameterize NetworkGraph with Logger 2022-06-06 13:02:43 -05:00
poly1305.rs Drop byte_utils in favor of native to/from_be_bytes methods 2021-06-01 15:47:01 +00:00
scid_utils.rs Define a crate-public constant for max fake SCID in blocks offset 2022-05-27 22:40:07 +00:00
ser.rs Add onion_message::Packet and adapt construct_onion_packet_with_init_noise for it 2022-08-02 19:17:19 -04:00
ser_macros.rs Do not execute the default_value expr until we need it in TLV deser 2022-07-05 17:32:21 +00:00
test_utils.rs Backfill gossip without buffering directly in LDK 2022-08-15 21:35:05 +00:00
time.rs move Time trait from scoring mod to util::time and set it visibile within crate 2022-05-14 09:52:59 +07:00
transaction_utils.rs bitcoin crate 0.28.1 2022-05-05 18:04:42 +02:00
zbase32.rs Use alloc for no_std builds 2021-05-27 17:35:20 +00:00