-
Notifications
You must be signed in to change notification settings - Fork 0
Home
github-actions[bot] edited this page Aug 27, 2026
·
2 revisions
Welcome. This wiki is the operator's manual for the TypeBit download-engine core. The README tells you what it is; this tells you how to drive it.
- Getting Started — add the crate, parse links, run a full engine lifecycle (real, compilable code)
-
Engine API — every
Enginemethod andEngineEvent, one table - Implementing a Host — the one interface you must write
- Supported Formats — every link format and its caveats
- Architecture — module map, layering, the tick pipeline
- FFI Binding — the C ABI for Kotlin / Swift / C# / Go
- Publishing — release to crates.io
- 中文首页 — 中文入口
your app (UI, Kotlin/Swift/...)
│ calls
▼
┌─────────────────────────────────────────────┐
│ typebit::Engine (session + DHT + cache) │
│ └─ typebit::session::TorrentSession │
│ └─ typebit::dht::Dht │
│ └─ typebit::disk_cache::DiskCache │
└─────────────────────────────────────────────┘
│ calls (every tick, on your thread)
▼
typebit::Host ◄── YOU IMPLEMENT THIS
(sockets, files, clock, RNG)
The engine never touches the OS. It asks Host for everything: connect a
socket, read a file, give me the time, fill this buffer with entropy. Your
job is a boring, well-tested implementation of Host. Everything clever
(piece picking, DHT, receipts, disk cache) lives in the engine.
Run cargo run --example minimal_host for a complete working Host
implementation (in-memory) driving a real engine.
TypeBit is licensed under the PolyForm Perimeter License 1.0.0
(https://polyformproject.org/licenses/perimeter/1.0.0). The full license
text — including its noncompete clause — is in LICENSE.