ddidderr 5b689ec5f4 perf(peer): tune QUIC flow control for LAN downloads
Raise the s2n-quic connection and stream data windows on both the client and
server, increase the max send buffer, and use BBR with a larger initial
congestion window. The download path was already able to pipeline multiple chunk
streams, but those streams still shared small default connection-level budgets
that limited sustained LAN throughput.

The tuning keeps one current wire protocol and does not add fallback behavior.
It is deliberately centralized in the peer networking module so later transport
changes can use the same limits on both sides of the connection.

S37 single-source throughput:
- Before: 733.22 MiB/s, 6150.72 Mbit/s, 2.793s
- After: 824.94 MiB/s, 6920.09 Mbit/s, 2.483s
- Delta: +91.72 MiB/s, +769.37 Mbit/s, about +12.5%

Test Plan:
- just fmt
- python3 crates/lanspread-peer-cli/scripts/run_extended_scenarios.py S37 --build-image

Refs: local LAN download performance investigation on 2026-05-20.
Depends-on: 14e772c5c71a (peer-cli S37 throughput measurement).
2026-05-20 20:26:59 +02:00
2025-08-27 21:21:01 +02:00
2026-05-17 07:54:12 +02:00
2026-05-17 23:16:42 +02:00
2026-05-18 16:19:27 +02:00
2026-05-18 16:19:27 +02:00

lanspread

Description

Peer-to-peer game library sharing for LAN parties.

  • Peers let users browse and download games from each other
  • they discover each other on the local network via mDNS
  • they exchange library metadata over QUIC

Ships as a Tauri desktop app.

Development

Prerequisites

# install Tauri CLI
cargo install tauri-cli

# install Deno with a package manager or from https://deno.land/

Build or Run

# build
just build

# run
just run

# test
just test

Scripted peer harness

crates/lanspread-peer-cli runs the peer runtime without the GUI and speaks JSONL on stdin/stdout. It is intended for automated multi-peer smoke tests.

just peer-cli-build
just peer-cli-image
just peer-cli-run alpha
S
Description
No description provided
Readme 152 MiB
Languages
Rust 63.8%
TypeScript 12.6%
CSS 8.9%
Python 7.5%
JavaScript 5.9%
Other 1.2%