pub struct Snowflake {
pub epoch: u64,
pub worker_id: u64,
pub sequence: AtomicU64,
pub last_timestamp: AtomicU64,
}
Expand description
Snowflakes algorithm
Fields§
§epoch: u64
§worker_id: u64
§sequence: AtomicU64
§last_timestamp: AtomicU64
Implementations§
source§impl Snowflake
impl Snowflake
pub const fn default() -> Snowflake
pub const fn new(epoch: u64, worker_id: u64, last_timestamp: u64) -> Snowflake
pub fn set_epoch(&mut self, epoch: u64) -> &mut Self
pub fn set_worker_id(&mut self, worker_id: u64) -> &mut Self
pub fn set_datacenter_id(&mut self, last_timestamp: u64) -> &mut Self
pub fn generate(&self) -> u64
Trait Implementations§
source§impl<'de> Deserialize<'de> for Snowflake
impl<'de> Deserialize<'de> for Snowflake
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl !Freeze for Snowflake
impl RefUnwindSafe for Snowflake
impl Send for Snowflake
impl Sync for Snowflake
impl Unpin for Snowflake
impl UnwindSafe for Snowflake
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more