Struct ulid_generator_rs::ULIDGenerator
source · pub struct ULIDGenerator { /* private fields */ }
Expand description
This is the ULID Generator.
Implementations§
source§impl ULIDGenerator
impl ULIDGenerator
sourcepub fn new() -> Self
pub fn new() -> Self
The Constructor for ULIDGenerator.
sourcepub fn generate_monotonic(
&mut self,
previous_id: &ULID
) -> Result<ULID, ULIDError>
pub fn generate_monotonic( &mut self, previous_id: &ULID ) -> Result<ULID, ULIDError>
Generate a monotonic ULID.
Generate a ULID based on the current time,
but if the current is the same timestamp as the previous_id
,
the lower 64 bits are incremented.
§Example
use ulid_generator_rs::ULIDGenerator;
let mut generator = ULIDGenerator::new();
let previous_id = generator.generate().unwrap();
let ulid = generator.generate_monotonic(&previous_id).unwrap();
sourcepub fn generate_strictly_monotonic(
&mut self,
previous_id: &ULID
) -> Result<Option<ULID>, ULIDError>
pub fn generate_strictly_monotonic( &mut self, previous_id: &ULID ) -> Result<Option<ULID>, ULIDError>
Generate a strictly monotonic ULID.
If the ULID generated by ULIDGenerator::generate_monotonic
is smaller than previous_id
,
None
is returned. Otherwise, the ULID will be returned wrapped in Some
.
§Example
use ulid_generator_rs::ULIDGenerator;
let mut generator = ULIDGenerator::new();
let prev_id = generator.generate().unwrap();
let ulid = generator.generate_monotonic(&prev_id).unwrap();
Trait Implementations§
source§impl Clone for ULIDGenerator
impl Clone for ULIDGenerator
source§fn clone(&self) -> ULIDGenerator
fn clone(&self) -> ULIDGenerator
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ULIDGenerator
impl Debug for ULIDGenerator
source§impl Default for ULIDGenerator
impl Default for ULIDGenerator
impl Send for ULIDGenerator
impl Sync for ULIDGenerator
Auto Trait Implementations§
impl Freeze for ULIDGenerator
impl !RefUnwindSafe for ULIDGenerator
impl Unpin for ULIDGenerator
impl !UnwindSafe for ULIDGenerator
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