2 unstable releases
0.2.0 | Mar 7, 2024 |
---|---|
0.1.0 | Mar 7, 2024 |
7KB
91 lines
Superflake is an ultra-safe identification technology inspired by Snowflake IDs.
Features
- Simple. Minimal and beautiful IDs that are unique.
- Customizable. You can customize the default epoch and the node ID.
- Robust. Superflake is built in Rust, the world's most loved programming language.
- Performant. A Superflake ID is only 8 bytes long, and it is a number, just like Snowflakes.
Structure
A Superflake is generated by concatenating:
- a 42-bit timestamp,
- a 10-bit node ID, and
- a 12-bit incremental number.
Usage
use superflake::Superflake;
let mut superflake =
Superflake::new_with_node_id(1023, None); // Specify a custom epoch if you want
let id = superflake.gen(); // 392366571697205248
// Decode the Superflake
let decoded_id = superflake.decode(id);