lnd/peer
Gijs van Dam e87f4bfb6f onionmessage: use BackpressureMailbox for onion peer actors
This commit adds per-peer backpressure control to the onion message
actor system by introducing a BackpressureMailbox that uses Random
Early Detection (RED) to probabilistically drop messages when the
per-peer queue depth exceeds a configurable threshold.

The OnionActorFactory type now accepts variadic ActorOptions, allowing
the spawn call site (brontide) to provide per-peer mailbox configuration.
A DefaultOnionActorOpts helper provides the standard RED thresholds so
callers don't need to wire up the BackpressureMailbox manually.

Key changes:
- OnionActorFactory signature extended with ...ActorOption[*Request,
  *Response] so backpressure policy is no longer baked into the factory.
- NewOnionActorFactory drops its shouldDrop parameter; it forwards opts
  through to serviceKey.Spawn.
- DefaultOnionActorOpts(shouldDrop) returns the default backpressure
  options (BackpressureMailbox + DefaultOnionMailboxSize).
- peer.Config gains OnionActorOpts callback for per-peer customization.
- server.go creates default opts once and returns them for every peer.
2026-03-28 12:42:53 +01:00
..
brontide.go onionmessage: use BackpressureMailbox for onion peer actors 2026-03-28 12:42:53 +01:00
brontide_test.go peer: include ping pong-size in debug summaries 2026-03-26 18:55:13 +08:00
chan_observer.go peer: fix MarkCoopBroadcasted to correctly use local parameter 2026-02-02 12:16:29 +01:00
daemon_adapters.go peer: conditionally create rbf coop close fsm based on feature bits 2025-03-18 11:44:20 -05:00
interfaces.go peer+lnwire: move LinkUpdater to lnwire 2024-03-06 11:59:19 -08:00
log.go multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
musig_chan_closer.go lnwallet/chancloser: fix MuSig2 nonce reuse across RBF rounds 2026-03-27 14:04:25 -07:00
musig_nonce_order_test.go lnwallet/chancloser: address lint and PR review feedback 2026-03-27 14:04:25 -07:00
ping_manager.go peer+lnd: add new CLI option to control if we D/C on slow pongs 2025-05-15 16:36:38 +02:00
ping_manager_test.go peer+lnd: add new CLI option to control if we D/C on slow pongs 2025-05-15 16:36:38 +02:00
setup_test.go multi: use MakeTestGraph everywhere for test graph creation 2025-05-22 14:14:42 +02:00
test_utils.go peer: add mock BestBlockView to test peer config 2026-03-24 11:49:48 +02:00