A real twitter snowflake implementation in Rust
Find a file
2024-09-24 17:44:29 -04:00
src wrote spec 2024-09-24 17:44:29 -04:00
.gitignore wrote spec 2024-09-24 17:44:29 -04:00
Cargo.toml wrote spec 2024-09-24 17:44:29 -04:00
README.md wrote spec 2024-09-24 17:44:29 -04:00

Icechip

A snowflake library that actually does what it is supposed to.

Adheres to the twitter specification, but also has an improved mode.

Twitter Specification

u64 or i64
bits 0-40 bits 41-51 bits 51-62 63
time since an epoch in ms machine id sequence number sign

Enhanced Specification

Utilizes a 64 bit unsigned integer, moves the now spare sign bit and one sequence bit to the machine ID.

u64
0-40 41-52 53-63
time since an epoch in ms machine id sequence number

Extended Enhanced Specification

Utilizes a 128 bit unsigned integer. 32bit machine id, 32bit sequence number. (Ought to be enough for anybody™)

u128
0-63 64-96 96-127
full unix timestamp ms machine id sequence number