2 个稳定版本

1.0.1 2024 年 1 月 15 日
1.0.0 2023 年 9 月 21 日

#690 in 数据结构

MIT/Apache

7KB
59

Chronoflake

用于在集中式或去中心化系统中生成唯一 64 位 ID 的库。

基于 Twitter 雪花算法

用法

use chronoflake::IdGenerator;

const MACHINE_ID: u16 = 49;
fn main() {
    // Create an ID generator using the default (Twitter) epoch
    let mut cf = IdGenerator::new(MACHINE_ID);

    // Generate a unique ID
    let id = cf.generate_id();

    // Futher processing...
}


lib.rs:

为各种目的生成唯一 ID。

基于 Twitter 雪花算法为消息生成唯一 ID

用法

use chronoflake::IdGenerator;

const PROJECT_EPOCH: u64 = 1488432924251;
fn main() {
    let mut cf = IdGenerator::new(14)
        .with_epoch(PROJECT_EPOCH);

    let id = cf.generate_id();
    println!("ID: {id}"); // 1704967240656416804
}

依赖

~1MB
~18K SLoC