snowflake
A Twitter snowflake algorithm simply implemented in Rust.
1.Usage
Add this to your Cargo.toml:
[]
= "0.2"
# Or
# @see SnowflakeGenerator::dynamic()
= { = "0.2", = ["dynamic"] }
2.APIs
2.1.Generator
2.1.1.builtin
// use the default data-center ID and worker ID
let gen = builtin;
assert!;
2.1.2.new
let gen = new;
assert!;
let gen = new;
assert!;
2.1.3.dynamic
@since 0.2.0
[]
= { = "${version}", = ["dynamic"] }
let gen = dynamic;
assert!;
let rvt = gen.unwrap.next_id;
assert!;
2.2.Functions
2.2.1.next_id
// 122235238222008321
let rvt = next_id;
assert!;
2.2.2.next_id_string
// 122256588529602560
let rvt = next_id_string;
assert!;
2.3.Custom
data-centerIDworkerID
let center_id = 16;
let worker_id = 16;
let gen = new;
assert!;
let rvt = gen.unwrap.next_id;
assert!;
3.Test
3.1.cargo test
$ cargo test --features "dynamic" -- --show-output
$ cargo test --features "dynamic"
4.Docs
4.1.features
$ cargo doc --open --features dynamic