Builder

Struct Builder 

Source
pub struct Builder<'a> { /* private fields */ }
Expand description

A builder to build a Sonyflake generator.

Implementations§

Source§

impl<'a> Builder<'a>

Source

pub fn new() -> Self

Construct a new builder to call methods on for the Sonyflake construction.

Source

pub fn start_time(self, start_time: DateTime<Utc>) -> Self

Sets the start time. If the time is ahead of current time, finalize will fail.

Source

pub fn machine_id( self, machine_id: &'a dyn Fn() -> Result<u16, Box<dyn StdError + Send + Sync + 'static>>, ) -> Self

Sets the machine id. If the fn returns an error, finalize will fail.

Source

pub fn check_machine_id(self, check_machine_id: &'a dyn Fn(u16) -> bool) -> Self

Set a function to check the machine id. If the fn returns false, finalize will fail.

Source

pub fn finalize(self) -> Result<Sonyflake, Error>

Finalize the builder to create a Sonyflake.

§Errors

This function will return an error if there’s a problem with determining the current time. It will also return an error if the machine id fn failed or if the machine id is invalid.

Trait Implementations§

Source§

impl Default for Builder<'_>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Builder<'a>

§

impl<'a> !RefUnwindSafe for Builder<'a>

§

impl<'a> !Send for Builder<'a>

§

impl<'a> !Sync for Builder<'a>

§

impl<'a> Unpin for Builder<'a>

§

impl<'a> !UnwindSafe for Builder<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.