Anacrolix’s default piece picker is rarest-first — good for swarm health, bad for “I want to start watching this movie while the rest of the file is still downloading.” The sequential-download toggle layers a per-torrent priority gradient on top so earlier pieces are requested first.

Where to find it

Open the inspector on a torrent (click the row, or press Enter) → Overview tab → Sequential download toggle.

Off by default. The toggle persists per torrent in the torrents SQLite table and is re-applied on startup, so a torrent you flipped on yesterday is still sequential after a restart.

How it works

Anacrolix has no explicit “sequential mode,” so Mosaic builds one out of piece priorities. With sequential on, pieces are divided into 5 equal buckets and each bucket is assigned a descending priority — bucket 0 (the earliest pieces) gets PiecePriorityNow, bucket 4 (the latest pieces) gets PiecePriorityNormal. Anacrolix’s request strategy then strongly prefers low-indexed pieces while still falling back gracefully when a piece is unavailable.

With sequential off, every piece is reset to PiecePriorityNormal and the rarest-first picker takes over again.

Concretely: streaming a 4 GB movie with sequential on, the first ~800 MB of the file gets the highest priority bucket and tends to land on disk first — usually enough headroom for a media player to start playing before the trailing pieces arrive.

Tradeoffs

  • Swarm health. Rarest-first downloads tend to spread rare pieces around the swarm faster. Sequential biases away from that. Use it when you actually need streaming order, not as a default.
  • Throughput. When the swarm has the early pieces in abundance, sequential and rarest-first finish at roughly the same wall-clock time. When the early pieces are rare in the swarm, sequential will be measurably slower because anacrolix is holding back fetchable later pieces while waiting for the harder early ones.
  • Per-file priorities are independent. The sequential bucketing is over every piece in the torrent. If you’ve also set per-file priorities (Inspector → Files), those interact: a file you marked skip won’t request pieces regardless of bucket.

API

POST /api/torrents/sequential
{ "infohash": "<hex>", "enabled": true }

See REST Endpoints → Torrents.

See also