snowchecked-0.0.0.1: A checksummed variation on Twitter's Snowflake UID generation algorithm
LicenseApache 2.0
Maintainersmokejumperit@gmail.com
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Data.Snowchecked.Types

Description

This module is internal, subject to breaking changes without a major version increment, and therefore should only be imported by Data.Snowchecked.

Synopsis

Documentation

data Flake Source #

The state of a given generated instance. Note that the actual value is calculated on demand.

Constructors

Flake 

Fields

Instances

Instances details
Eq Flake Source # 
Instance details

Defined in Data.Snowchecked.Types

Methods

(==) :: Flake -> Flake -> Bool #

(/=) :: Flake -> Flake -> Bool #

Show Flake Source # 
Instance details

Defined in Data.Snowchecked.Types

Methods

showsPrec :: Int -> Flake -> ShowS #

show :: Flake -> String #

showList :: [Flake] -> ShowS #

Generic Flake Source # 
Instance details

Defined in Data.Snowchecked.Types

Associated Types

type Rep Flake :: Type -> Type #

Methods

from :: Flake -> Rep Flake x #

to :: Rep Flake x -> Flake #

NFData Flake Source # 
Instance details

Defined in Data.Snowchecked.Types

Methods

rnf :: Flake -> () #

type Rep Flake Source # 
Instance details

Defined in Data.Snowchecked.Types

type Rep Flake = D1 ('MetaData "Flake" "Data.Snowchecked.Types" "snowchecked-0.0.0.1-1XcYrHn4yNqBegYObj5FEb" 'False) (C1 ('MetaCons "Flake" 'PrefixI 'True) ((S1 ('MetaSel ('Just "flakeTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word256) :*: S1 ('MetaSel ('Just "flakeCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word256)) :*: (S1 ('MetaSel ('Just "flakeNodeId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word256) :*: S1 ('MetaSel ('Just "flakeConfig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SnowcheckedConfig))))

newtype SnowcheckedGen Source #

The state that needs to be communicated between flake generation calls. - This should not be accessed or created directly by consumers of this library: - doing so may cause your code to hang indefinitely.

Constructors

SnowcheckedGen 

data SnowcheckedConfig Source #

Configuration that specifies how much bits are used for each part of the id. These values are not validated and may be any legal value for the type.

The default value provided by def is 64 bits in total length, just like the original Snowflake algorithm. However, 4 bits are taken from the count bits and used for check bits. Note that specifying 0 check bits results in the normal snowflake generation.

Constructors

SnowcheckedConfig 

Fields

Instances

Instances details
Eq SnowcheckedConfig Source # 
Instance details

Defined in Data.Snowchecked.Types

Show SnowcheckedConfig Source # 
Instance details

Defined in Data.Snowchecked.Types

Generic SnowcheckedConfig Source # 
Instance details

Defined in Data.Snowchecked.Types

Associated Types

type Rep SnowcheckedConfig :: Type -> Type #

Default SnowcheckedConfig Source # 
Instance details

Defined in Data.Snowchecked.Types

NFData SnowcheckedConfig Source # 
Instance details

Defined in Data.Snowchecked.Types

Methods

rnf :: SnowcheckedConfig -> () #

type Rep SnowcheckedConfig Source # 
Instance details

Defined in Data.Snowchecked.Types

type Rep SnowcheckedConfig = D1 ('MetaData "SnowcheckedConfig" "Data.Snowchecked.Types" "snowchecked-0.0.0.1-1XcYrHn4yNqBegYObj5FEb" 'False) (C1 ('MetaCons "SnowcheckedConfig" 'PrefixI 'True) ((S1 ('MetaSel ('Just "confTimeBits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "confCountBits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :*: (S1 ('MetaSel ('Just "confNodeBits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "confCheckBits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8))))