Crate rdest[][src]

Rust is simple BitTorrent client, currently supporting BEP3 specification.

Example

use rdest::{Metainfo, Session};
use std::path::Path;

let path = Path::new("ubuntu-20.04.2.0-desktop-amd64.iso.torrent");
let torrent_file = Metainfo::from_file(path).unwrap();
let peer_id = b"AAAAABBBBBCCCCCDDDDD";

let mut session = Session::new(torrent_file, *peer_id);
session.run().await;

Modules

peer_id

Peer ID utilities.

Macros

hashmap

Create new HashMap with emplaced elements.

Structs

BDecoder

Bencode decoder used by metafile/torrent files and BitTorrent protocol.

DeepFinder

Deep finder class looking for dictionary key in bencoded string.

File

File description in metainfo (.torrent) file.

Metainfo

Metainfo file (also known as .torrent; see BEP3) describe all data required to find download file/files from peer-to-peer network.

Session

Session manager.

TrackerClient

Tracker client.

TrackerResp

Response from the tracker.

Enums

BValue

Bencode representation. BEP3 specify four basic types: integer, string (but can be any byte array), list and dictionary.

Error

rdest lib errors

Traits

RawFinder

Dictionary value (raw format) finder in bencoded string.