irontide 0.165.0

A Rust BitTorrent library — ergonomic facade for the irontide crate family
Documentation
//! Core BitTorrent types: hashes, metainfo, magnets, piece arithmetic.
//!
//! Re-exports from [`torrent_core`].

pub use irontide_core::{
    DEFAULT_CHUNK_SIZE,
    // Error types
    Error,
    // Hash types
    Id20,
    Id32,
    // Piece/chunk arithmetic
    Lengths,
    // Magnet links (BEP 9)
    Magnet,
    // Peer identity
    PeerId,
    Result,
    // Torrent metainfo (BEP 3)
    TorrentMetaV1,
    // SHA1 utility
    sha1,
    torrent_from_bytes,
};

// Re-export info dict sub-types (needed to access TorrentMetaV1 fields)
pub use irontide_core::{FileEntry, FileInfo, InfoDict};

// Resume data (M11)
pub use irontide_core::{FastResumeData, UnfinishedPiece};

// File priority (M12)
pub use irontide_core::FilePriority;

// BEP 53 file selection (M36)
pub use irontide_core::FileSelection;

// Address family (M21 IPv6)
pub use irontide_core::AddressFamily;

// Storage allocation mode (M26)
pub use irontide_core::StorageMode;

// Torrent creation (M30)
pub use irontide_core::{CreateTorrent, CreateTorrentResult};

// BitTorrent v2 (M33, BEP 52)
pub use irontide_core::{
    FileTreeNode,
    InfoDictV2,
    InfoHashes,
    MerkleTree,
    TorrentMeta,
    TorrentMetaV2,
    // Hybrid v1+v2 (M35)
    TorrentVersion,
    V2FileAttr,
    V2FileInfo,
    sha256,
    torrent_from_bytes_any,
    torrent_v2_from_bytes,
};

// BEP 52 Wire + Hash Picker (M34a)
pub use irontide_core::{
    AddHashesResult, FileHashInfo, HashPicker, HashRequest, MerkleTreeState, SetBlockResult,
    validate_hash_request,
};