Nishaad Ajani
a3f3d0ff71
Merge branch 'master' into monotonic_clock
2019-04-10 17:14:22 +08:00
Nishaad Ajani
55825bae4b
Bug fix and optimization
...
* Fix for default Epoch to use monotonic clock.
* Using common case optimization in the time pkg.
2019-04-10 17:02:30 +08:00
Bruce Marriner
20ab5dc6a4
Deprecate several global variables
...
This allows better data race protection and makes it more possible to
have multi nodes running on the same program with different options. A
temp global mutex was added to protect data races caused by NewNode
until the deprecated variables are removed. fixed #15
2019-04-10 01:37:32 +00:00
Bruce Marriner
272c8fb215
👌 Linting
2019-04-10 01:12:21 +00:00
Nishaad Ajani
2983bd9d27
Saving time as a duration in Node
2019-04-03 14:57:50 +08:00
Nishaad Ajani
0685b6ac31
Rounding time to nearest millisecond
2019-04-03 14:23:35 +08:00
Nishaad Ajani
af41c88b24
code cleanup
2019-03-15 13:10:57 +08:00
Nishaad Ajani
564a60a44c
Use monotonic clock if available from the package runtime
2019-03-15 12:46:51 +08:00
龚尚
c64f7c8e01
Int64 to string.
2018-04-07 14:51:49 +08:00
龚尚
4ca43961f4
Update error log for wrong node id.
...
When custom NodeBits was set, the node number may bigger than 1023.
2018-04-07 14:46:40 +08:00
Bruce Marriner
a685984f2e
Allow custom NodeBits and StepBits to be set.
...
You can now set the snowflake.NodeBits or snowflake.StepBits to
custom values. Please keep in mind you have a total of 22 bits
available to use between these two values. Setting these to
inappropriate values may break things. So take care to understand
what you're doing here.
This is not the best way of doing this but it does not break
API compatibility with existing users of this package. I will
release a version 2 of this package which will implement this
feature better.
2018-03-19 21:07:06 +00:00
Bruce
07b209d699
Merge pull request #10 from freman/master
...
Use constants for bits, for easier changing
2018-03-19 15:35:01 -05:00
Bruce Marriner
0516e7e5cf
Added Base32 and ParseBase32 methods.
...
These methods are nearly identical to the base58 methods, except that
these use the z-base-32 character set.
2018-03-12 20:56:32 +00:00
Bruce Marriner
812a8db720
Hide node Mutex
2018-02-01 01:25:24 +00:00
Shannon Wynter
3a07db85c1
Use constants for bits, for easier changing
2017-10-01 22:07:22 +10:00
Connor Peet
d3bf1ae440
Fix panic during UnmarshalJSON
2017-06-16 09:02:47 -07:00
Bruce Marriner
734cbe306e
Added Base58 encoder/decoder
2017-02-21 09:58:29 -06:00
Connor Peet
95d961a628
Add a method to encode the snowflake as a byte slice
2016-07-26 11:35:39 -07:00
zeroZshadow
8abf09e1ce
Allocate the maximum in 1 go for marshaling
2016-06-11 04:20:04 +02:00
zeroZshadow
bb0fb2c0f5
Fix UnmarshalJSON benchmark
...
Optimize MarshalJSON a little more
2016-06-11 03:48:54 +02:00
Bruce Marriner
c676f9e9ea
Correct node error. It's 0-1023!
2016-06-10 18:54:48 -05:00
Bruce Marriner
00c61c48d0
Use nodeShift instead of 12.
2016-06-10 18:51:24 -05:00
Bruce Marriner
94a47d42a7
Don't defer.
...
This dropped (on my system) the Generate benchmark from about
285-330ns/op down to 244ns/op. Yay!
2016-06-10 18:20:30 -05:00
zeroZshadow
7c362b8bf3
oops, left some experiment stuff in
2016-06-10 20:35:59 +02:00
zeroZshadow
d8933e1ea5
Added tests for MarshalJSON and UnmarshalJSON
...
Reduced allocation of MarshalJSON from 65 to 40 B/op
2016-06-10 20:33:36 +02:00
Bruce Marriner
348dc1e55f
Lint.
2016-06-04 15:52:39 -05:00
Bruce Marriner
db0acce1d0
Linting, Optimizations, Cleanup, More Benchmarks.
2016-06-04 15:50:03 -05:00
Bruce Marriner
0fdfe21511
Removed http.Handler interface
...
Including this added 60KB to the compiled library which I do not think
is worth it just to include a helper function consisting of about 4
lines of code.
2016-06-01 16:58:13 -05:00
Bruce Marriner
bdcd2f75e6
Added http.Handler interface
2016-06-01 16:49:10 -05:00
Bruce Marriner
bf4c51fc2b
Rename to snowflake
2016-06-01 16:12:53 -05:00