KeelrLeek a949c24677 playback: streams try peers that can actually deliver, and give up on the
dead ones faster

"Da Funk" — hundreds of sources — took over a minute to start. The
quality-first score ranks a format tier at 1000 points and a free upload
slot at 600, so busy lossless peers owned the entire failover list; each
one queued the request and never sent a byte, and the flat 15s-per-
candidate walk burned the minute before a live peer got its turn.

For STREAMING, candidates are now stable-partitioned: peers with a free
upload slot first, best quality within each half. Quality still decides
among peers that can deliver immediately; a busy peer's better file is a
save-time choice, and downloads keep the pure ranking. The album path and
the background fill inherit the same order.

The failover budget drops from 15s flat to 12s for the first candidate
(an indirect handshake can honestly take ~10) and 8s for the rest — a
peer that has not sent a byte in eight seconds is not about to.

Worst case falls from ~60s of dead peers to ~36s, and the common case —
an available peer ranked first — starts in seconds.
2026-08-03 17:48:16 -05:00
S
Description
SoulSeek Streaming app.
7.7 MiB
0 Stars 1 Watchers 0 Forks
Languages
Rust 48.6%
Svelte 37.6%
JavaScript 13.6%
CSS 0.2%