pub trait SnowflakeGenerator<ID, T>{
type Err: Debug;
// Required methods
fn new(machine_id: ID::Ty, clock: T) -> Self;
fn next_id(&self) -> IdGenStatus<ID>;
fn try_next_id(&self) -> Result<IdGenStatus<ID>, Self::Err>;
}Expand description
A minimal interface for generating Snowflake IDs
Required Associated Types§
Required Methods§
fn new(machine_id: ID::Ty, clock: T) -> Self
Sourcefn next_id(&self) -> IdGenStatus<ID>
fn next_id(&self) -> IdGenStatus<ID>
Returns the next available ID
Sourcefn try_next_id(&self) -> Result<IdGenStatus<ID>, Self::Err>
fn try_next_id(&self) -> Result<IdGenStatus<ID>, Self::Err>
A fallible version of Self::next_id that returns a Result.
§Errors
- May return an error if the underlying generator uses a lock and it is poisoned.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.