timeuuid

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2020 License: Apache-2.0 Imports: 9 Imported by: 2

README

timeuuid

Golang UUID implementation that supports TimeUUID version

Checkout
go get "github.com/consensusdb/timeuuid"
Import
import "github.com/consensusdb/timeuuid"
Quick start example:
	uuid := timeuuid.NewUUID(timeuuid.TimebasedUUID)
	uuid.SetUnixTimeMillis(123)
	uuid.SetCounter(555)
	fmt.Print(uuid.MarshalBinary())
	uuid.Parse(uuid.String())

Documentation

Index

Constants

View Source
const (
	NCSReserved       = Variant(iota)
	IETF              // The IETF variant specified in RFC4122
	MicrosoftReserved // Reserved, Microsoft Corporation backward compatibility.
	FutureReserved    // Reserved for future definition.
	UnknownVariant
)

Constants returned by Variant.

View Source
const (
	BadVersion = Version(iota)
	TimebasedVer1
	DCESecurityVer2
	NamebasedVer3
	RandomlyGeneratedVer4
	NamebasedVer5
	UnknownVersion
)

Constants returned by Version.

Variables

View Source
var (
	ErrorWrongLen              = errors.New("wrong len")
	ErrorRequiredTimebasedUUID = errors.New("required timebased UUID")
)
View Source
var Empty = UUID{0, 0}

Functions

func Equal

func Equal(left *UUID, right *UUID) bool

Types

type UUID

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

func CreateUUID

func CreateUUID(mostSigBits, leastSigBits int64) (uuid UUID)

func NameUUIDFromBytes

func NameUUIDFromBytes(name []byte, version Version) (uuid UUID, err error)

func NewUUID

func NewUUID(version Version) (uuid UUID)

func Parse

func Parse(s string) (UUID, error)

func ParseBytes

func ParseBytes(src []byte) (UUID, error)

func RandomUUID

func RandomUUID() (uuid UUID, err error)

func (UUID) ClockSequence

func (this UUID) ClockSequence() int

func (UUID) Counter

func (this UUID) Counter() int64

func (UUID) CounterUnsigned

func (this UUID) CounterUnsigned() uint64

func (UUID) Equal

func (this UUID) Equal(other UUID) bool

func (UUID) LeastSignificantBits

func (this UUID) LeastSignificantBits() int64

func (UUID) MarshalBinary

func (this UUID) MarshalBinary() (dst []byte, err error)

func (UUID) MarshalBinaryTo

func (this UUID) MarshalBinaryTo(dst []byte) error

func (UUID) MarshalJSON

func (this UUID) MarshalJSON() ([]byte, error)

func (UUID) MarshalSortableBinary

func (this UUID) MarshalSortableBinary() ([]byte, error)

func (UUID) MarshalSortableBinaryTo

func (this UUID) MarshalSortableBinaryTo(dst []byte) error

func (UUID) MarshalText

func (this UUID) MarshalText() ([]byte, error)

func (UUID) MarshalTextTo

func (this UUID) MarshalTextTo(dst []byte) error

func (UUID) MostSignificantBits

func (this UUID) MostSignificantBits() int64

func (UUID) Node

func (this UUID) Node() int64

func (*UUID) SetClockSequence

func (this *UUID) SetClockSequence(clockSequence int)

func (*UUID) SetCounter

func (this *UUID) SetCounter(counter int64) int64

func (*UUID) SetCounterUnsigned

func (this *UUID) SetCounterUnsigned(counter uint64) uint64

func (*UUID) SetLeastSignificantBits

func (this *UUID) SetLeastSignificantBits(leastSigBits int64)

func (*UUID) SetMaxCounter

func (this *UUID) SetMaxCounter()

func (*UUID) SetMaxTime

func (this *UUID) SetMaxTime()

func (*UUID) SetMinCounter

func (this *UUID) SetMinCounter()

func (*UUID) SetMinTime

func (this *UUID) SetMinTime()

func (*UUID) SetMostSignificantBits

func (this *UUID) SetMostSignificantBits(mostSigBits int64)

func (*UUID) SetName

func (this *UUID) SetName(name []byte, version Version) error

func (*UUID) SetNode

func (this *UUID) SetNode(node int64)

func (*UUID) SetTime

func (this *UUID) SetTime(t time.Time)

func (*UUID) SetTime100Nanos

func (this *UUID) SetTime100Nanos(time100Nanos int64)

func (*UUID) SetTime100NanosUnsigned

func (this *UUID) SetTime100NanosUnsigned(time100Nanos uint64)

func (*UUID) SetUnixTime100Nanos

func (this *UUID) SetUnixTime100Nanos(unixTime100Nanos int64)

func (*UUID) SetUnixTimeMillis

func (this *UUID) SetUnixTimeMillis(unixTimeMillis int64)

func (UUID) String

func (this UUID) String() string

func (UUID) Time

func (this UUID) Time() time.Time

func (UUID) Time100Nanos

func (this UUID) Time100Nanos() int64

func (UUID) Time100NanosUnsigned

func (this UUID) Time100NanosUnsigned() uint64

func (UUID) URN

func (this UUID) URN() string

func (UUID) UnixTime100Nanos

func (this UUID) UnixTime100Nanos() int64

func (UUID) UnixTimeMillis

func (this UUID) UnixTimeMillis() int64

func (*UUID) UnmarshalBinary

func (this *UUID) UnmarshalBinary(data []byte) error

func (*UUID) UnmarshalJSON

func (this *UUID) UnmarshalJSON(data []byte) error

func (*UUID) UnmarshalSortableBinary

func (this *UUID) UnmarshalSortableBinary(data []byte) error

func (*UUID) UnmarshalText

func (this *UUID) UnmarshalText(data []byte) error

func (UUID) Variant

func (this UUID) Variant() Variant

func (UUID) Version

func (this UUID) Version() Version

type Variant

type Variant int

func (Variant) String

func (v Variant) String() string

func (Variant) Valid

func (v Variant) Valid() bool

type Version

type Version int

func (Version) String

func (v Version) String() string

Jump to

Keyboard shortcuts

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