Update all dependencies
This commit is contained in:
parent
628dc66685
commit
47bc78b80a
365 changed files with 37935 additions and 16866 deletions
16
vendor/github.com/kjk/betterguid/README.md
generated
vendored
16
vendor/github.com/kjk/betterguid/README.md
generated
vendored
|
@ -1,4 +1,4 @@
|
|||
This is Go package to generate guid (globally unique id) with good properties
|
||||
This is Go package to generate guid (globally unique id) with good properties.
|
||||
|
||||
Usage:
|
||||
```go
|
||||
|
@ -10,13 +10,13 @@ fmt.Printf("guid: '%s'\n", id)
|
|||
|
||||
Generated guids have good properties:
|
||||
* they're 20 character strings, safe for inclusion in urls (don't require escaping)
|
||||
* they're based on timestamp so that they sort **after** any existing ids
|
||||
* they're based on timestamp; they sort **after** any existing ids
|
||||
* they contain 72-bits of random data after the timestamp so that IDs won't
|
||||
collide with other clients' IDs
|
||||
* they sort **lexicographically** (so the timestamp is converted to characters
|
||||
that will sort properly)
|
||||
* they're monotonically increasing. Even if you generate more than one in the
|
||||
same timestamp, thelatter ones will sort after the former ones. We do this
|
||||
collide with other IDs
|
||||
* they sort **lexicographically** (the timestamp is converted to a string
|
||||
that will sort correctly)
|
||||
* they're monotonically increasing. Even if you generate more than one in the
|
||||
same timestamp, the latter ones will sort after the former ones. We do this
|
||||
by using the previous random bits but "incrementing" them by 1 (only in the
|
||||
case of a timestamp collision).
|
||||
|
||||
|
@ -24,3 +24,5 @@ Read https://www.firebase.com/blog/2015-02-11-firebase-unique-identifiers.html
|
|||
for more info.
|
||||
|
||||
Based on https://gist.github.com/mikelehen/3596a30bd69384624c11
|
||||
|
||||
You can read [Generating good, random and unique ids in Go](https://blog.kowalczyk.info/article/JyRZ/generating-good-random-and-unique-ids-in-go.html) to see how it compares to other similar libraries.
|
||||
|
|
11
vendor/github.com/kjk/betterguid/betterguid.go
generated
vendored
11
vendor/github.com/kjk/betterguid/betterguid.go
generated
vendored
|
@ -24,14 +24,17 @@ var (
|
|||
)
|
||||
|
||||
func init() {
|
||||
// have to seed to get randomness
|
||||
// seed to get randomness
|
||||
rnd = rand.New(rand.NewSource(time.Now().UnixNano()))
|
||||
for i := 0; i < 12; i++ {
|
||||
}
|
||||
|
||||
func genRandPart() {
|
||||
for i := 0; i < len(lastRandChars); i++ {
|
||||
lastRandChars[i] = rnd.Intn(64)
|
||||
}
|
||||
}
|
||||
|
||||
// New creates a new guid.
|
||||
// New creates a new random, unique id
|
||||
func New() string {
|
||||
var id [8 + 12]byte
|
||||
mu.Lock()
|
||||
|
@ -46,6 +49,8 @@ func New() string {
|
|||
// increment the next byte
|
||||
lastRandChars[i] = 0
|
||||
}
|
||||
} else {
|
||||
genRandPart()
|
||||
}
|
||||
lastPushTimeMs = timeMs
|
||||
// put random as the second part
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue