Open nrednav opened 1 year ago
I am not a go expert, but you could make the counter thread safe, right?
import "sync/atomic"
type Counter struct {
value int64
}
func NewCounter(initialCount int64) *Counter {
return &Counter{
value: initialCount,
}
}
func (c *Counter) Increment() int64 {
return atomic.AddInt64(&c.value, 1)
}
@ericelliott great suggestion, thanks! made the updates in: https://github.com/nrednav/cuid2/pull/1 and https://github.com/nrednav/cuid2/pull/2
Package updated to include latest changes: https://github.com/nrednav/cuid2/pull/5
Link to port: nrednav/cuid2
Apologies for yet another Go port of this library. I noticed the other implementations did not include a complete suite of tests and so I wanted to try my hand at recreating the full package, including collision tests.
I tried to incorporate as much as I could gather from the ongoing discussion in https://github.com/paralleldrive/cuid2/issues/33. Would greatly appreciate any feedback.
Todo / Missing
buildHistogram