Releases: RobThree/IdGen
Releases · RobThree/IdGen
3.0.7
3.0.6
3.0.5
Minor internal changes, .netstandard 2.0 added.
3.0.3 Upped version to 3.0.3
Minor internal changes
Minor internal refactoring.
ID
is now a record- Fixed bounds check where when the GeneratorId was 31 bits the constructor would throw on any generator id.
Minor internal changes
Minor internal refactoring. Also an Idgen.DependencyInjection package is now available.
Improved and more consistent naming of objects.
This release contains a few (minor) breaking changes. Generated 2.x ID's are still compatible with 3.x ID's.
- Most of the constructor overloads for the
IdGenerator
have been replaced with a single constructor which acceptsIdGeneratorOptions
that contains theITimeSource
,IdStructure
andSequenceOverflowStrategy
. - The
MaskConfig
class is now more appropriately namedIdStructure
since it describes the structure of the generated ID's. - The
UseSpinWait
property has moved to theIdGeneratorOptions
and is now an enum of typeSequenceOverflowStrategy
instead of a boolean value. Note that this property has also been renamed in the config file (fromuseSpinWait
tosequenceOverflowStrategy
) and is no longer a boolean butrequires
one of the values fromSequenceOverflowStrategy
. ID
is nowId
(only used as return value by theFromId(...)
method)
Implemented spinwaiting
The IdGenerator
now offers a spinwaiting strategy when a sequenceoverflow occurs instead of throwing a SequenceOverflowException
. This will spinwait until the next tick and then return a new Id. New constructoroverloads have been added to be able to set this property at construction time. Also the configuration package supports this new option with a useSpinWait
attribute on the idGenerator
element.
Fix concurrency issue
Fix concurrency issue (see PR #23). Upped version.