Documentation
¶
Index ¶
- Constants
- func SetCounter(counter uint32)
- func Sort(ids []ID)
- type ID
- func (id ID) Bytes() []byte
- func (id ID) Compare(other ID) int
- func (id ID) Counter() uint32
- func (id ID) Encode(dst []byte) []byte
- func (id ID) IsNil() bool
- func (id ID) IsZero() bool
- func (id ID) Machine() []byte
- func (id ID) MarshalJSON() ([]byte, error)
- func (id ID) MarshalText() ([]byte, error)
- func (id ID) Pid() uint16
- func (id *ID) Scan(value interface{}) (err error)
- func (id ID) String() string
- func (id ID) Time() time.Time
- func (id *ID) UnmarshalJSON(b []byte) error
- func (id *ID) UnmarshalText(text []byte) error
- func (id ID) Value() (driver.Value, error)
Constants ¶
const (
// ErrInvalidID is returned when trying to unmarshal an invalid ID.
ErrInvalidID strErr = "invalid ID"
)
Variables ¶
This section is empty.
Functions ¶
func SetCounter ¶
func SetCounter(counter uint32)
Types ¶
type ID ¶
type ID [rawLen]byte
func FromString ¶
FromString reads an ID from its string representation
func NewWithTime ¶
NewWithTime generates a globally unique ID with the passed in time
func (ID) Compare ¶
Compare returns an integer comparing two IDs. It behaves just like `bytes.Compare`. The result will be 0 if two IDs are identical, -1 if current id is less than the other one, and 1 if current id is greater than the other.
func (ID) Counter ¶
Counter returns the incrementing value part of the id. It's a runtime error to call this method with an invalid id.
func (ID) Encode ¶
Encode encodes the id using base32 encoding, writing 20 bytes to dst and return it.
func (ID) Machine ¶
Machine returns the 3-byte machine id part of the id. It's a runtime error to call this method with an invalid id.
func (ID) MarshalJSON ¶
MarshalJSON implements encoding/json Marshaler interface
func (ID) MarshalText ¶
MarshalText implements encoding/text TextMarshaler interface
func (ID) Pid ¶
Pid returns the process id part of the id. It's a runtime error to call this method with an invalid id.
func (ID) String ¶
String returns a base32 hex lowercased with no padding representation of the id (char set is 0-9, a-v).
func (ID) Time ¶
Time returns the timestamp part of the id. It's a runtime error to call this method with an invalid id.
func (*ID) UnmarshalJSON ¶
UnmarshalJSON implements encoding/json Unmarshaler interface
func (*ID) UnmarshalText ¶
UnmarshalText implements encoding/text TextUnmarshaler interface