#peer-id #bittorrent #minimalist #u8 #byte #basic #tdyne

tdyne-peer-id

用于BitTorrent相关库中的基本Peer ID类型

3个稳定版本

1.0.2 2023年10月6日

6#peer-id

Download history 370/week @ 2024-03-26 320/week @ 2024-04-02 517/week @ 2024-04-09 368/week @ 2024-04-16 274/week @ 2024-04-23 299/week @ 2024-04-30 817/week @ 2024-05-07 742/week @ 2024-05-14 187/week @ 2024-05-21 159/week @ 2024-05-28 290/week @ 2024-06-04 382/week @ 2024-06-11 322/week @ 2024-06-18 1243/week @ 2024-06-25 419/week @ 2024-07-02 355/week @ 2024-07-09

2,570 每月下载量
用于 tdyne-peer-id-registry

MIT/Apache

9KB
87

BitTorrent peer ID的基础类型

tdyne_peer_id 是BitTorrent peer ID的新类型,表示为 [u8; 20]。它被有意保持非常简约,以最小化向后不兼容的更改。

[dependencies]
tdyne-peer-id = "1"

示例

use tdyne_peer_id::{PeerId, BadPeerIdLengthError};

fn main() {
    let byte_array: &[u8; 20] = b"-TR0000-*\x00\x01d7xkqq04n";
    let byte_slice: &[u8] = b"-TR0000-*\x00\x01d7xkqq04n";
    let short_byte_slice: &[u8] = b"-TR0000-";

    // creating a PeerId from an array is simple
    let peer_id = PeerId::from(b"-TR0000-*\x00\x01d7xkqq04n");
    assert_eq!(peer_id.to_string(), "-TR0000-???d7xkqq04n".to_string());

    // you can also create PeerId from a byte slice if its 20 bytes long
    _ = PeerId::try_from(byte_slice).expect("matching lengths");

    // …if it's not, you get an error
    let error = BadPeerIdLengthError(short_byte_slice.len());
    assert_eq!(PeerId::try_from(short_byte_slice).expect_err("lengths don't match"), error);
}

使用 tdyne_peer_id 的库和项目

tdyne_peer_id 是由 TORRENTDYNE 开源的,一个BitTorrent诊断服务。

许可证

根据您的选择,许可为Apache License,版本2.0MIT许可证
除非您明确表示,否则您提交的任何旨在包含在此软件包中的贡献,根据Apache-2.0许可证的定义,均应双重许可,不附加任何额外条款或条件。

无运行时依赖