829 B
829 B
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 |