snowflake_id

package
v1.6.5-rc8-deb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 24, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrOverTimeLimit      = errors.New("over the time limit")
	ErrOverMaxWorkerID    = errors.New("over the worker id limit")
	ErrInvalidSystemClock = errors.New("invalid system clock")
)

Functions

func WorkerIDFromIP

func WorkerIDFromIP(ipv4 net.IP) uint32

func WorkerIDFromLocalIP

func WorkerIDFromLocalIP() uint32

Types

type Snowflake

type Snowflake struct {
	// contains filtered or unexported fields
}

func NewSnowflake

func NewSnowflake(worker uint32) (*Snowflake, error)

func (*Snowflake) ID

func (s *Snowflake) ID() (uint64, error)

func (*Snowflake) WorkerID

func (s *Snowflake) WorkerID() uint32

type SnowflakeFactory

type SnowflakeFactory struct {
	// contains filtered or unexported fields
}

func NewSnowflakeFactory

func NewSnowflakeFactory(bitsWorkerID, bitsSequence, gap uint, base time.Time) *SnowflakeFactory

func (*SnowflakeFactory) BuildID

func (f *SnowflakeFactory) BuildID(wid, seq uint32, elapsed uint64) (uint64, error)

func (*SnowflakeFactory) BuildID2

func (f *SnowflakeFactory) BuildID2(wid, seq uint32, elapsed uint64) (uint64, error)

func (*SnowflakeFactory) Elapsed

func (f *SnowflakeFactory) Elapsed() uint64

func (*SnowflakeFactory) MaskSequence

func (f *SnowflakeFactory) MaskSequence(seq uint32) uint32

func (*SnowflakeFactory) MaxSequence

func (f *SnowflakeFactory) MaxSequence() uint32

func (*SnowflakeFactory) MaxUnitTime

func (f *SnowflakeFactory) MaxUnitTime() time.Time

func (*SnowflakeFactory) MaxWorkerID

func (f *SnowflakeFactory) MaxWorkerID() uint32

func (*SnowflakeFactory) NewSnowflake

func (f *SnowflakeFactory) NewSnowflake(wid uint32) (*Snowflake, error)

func (*SnowflakeFactory) Sleep

func (*SnowflakeFactory) SnowFlakeTimestamp

func (f *SnowflakeFactory) SnowFlakeTimestamp(t time.Time) uint64

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL