Commit Graph

451 Commits

Author SHA1 Message Date
Ethan Buchman
b5f465b4ec common: use names prng and mrand 2017-12-15 00:23:25 -05:00
Emmanuel Odeke
29471d75cb common: no more relying on math/rand.DefaultSource
Fixes https://github.com/tendermint/tmlibs/issues/99
Updates https://github.com/tendermint/tendermint/issues/973

Removed usages of math/rand.DefaultSource in favour of our
own source that's seeded with a completely random source
and is safe for use in concurrent in multiple goroutines.
Also extend some functionality that the stdlib exposes such as
* RandPerm
* RandIntn
* RandInt31
* RandInt63

Also added an integration test whose purpose is to be run as
a consistency check to ensure that our results never repeat
hence that our internal PRNG is uniquely seeded each time.
This integration test can be triggered by setting environment variable:
`TENDERMINT_INTEGRATION_TESTS=true`
for example
```shell
TENDERMINT_INTEGRATION_TESTS=true go test
```
2017-12-14 00:18:30 -07:00
Ethan Buchman
a2f7898b6d db: fix c and go iterators 2017-12-13 22:28:37 -05:00
Ethan Buchman
d4aeca8ce3 fixes from @melekes 2017-12-13 20:11:11 -05:00
Ethan Buchman
318982c0ba checkKeyCondition -> IsKeyInDomain 2017-12-13 01:34:00 -05:00
Anton Kaliaev
a80b66268f Merge pull request #97 from tendermint/rm-root-flag
remove deprecated --root flag
2017-12-12 23:29:36 -06:00
Anton Kaliaev
541780c6df uncomment tests 2017-12-12 23:23:49 -06:00
Jae Kwon
5636a02d03 Remove GetError() from Iterator 2017-12-12 19:19:26 -08:00
Ethan Buchman
edf07760d6 db: fsdb iterator 2017-12-12 21:08:38 -05:00
Ethan Buchman
bcacaf164b db: cleveldb iterator 2017-12-12 20:58:35 -05:00
Ethan Buchman
3e5dbef6a2 db: goleveldb iterator 2017-12-12 20:38:03 -05:00
Ethan Buchman
39e40ff5ce db: memdb iterator 2017-12-12 20:06:50 -05:00
Ethan Buchman
bb115d4d61 cleanupDBDir 2017-12-12 19:28:52 -05:00
Ethan Buchman
ba8c5045b5 db: fixes to fsdb and clevledb 2017-12-12 19:22:08 -05:00
Ethan Buchman
c547caf04f db: some test cleanup 2017-12-12 19:08:22 -05:00
Ethan Buchman
5b7f90dfb2 db: test panic on nil key 2017-12-12 18:42:47 -05:00
Ethan Buchman
781f6c5d22 db: some comments in types.go 2017-12-12 18:04:05 -05:00
Jae Kwon
7f650cea86 Remove Prev from Iterator 2017-12-12 14:45:31 -08:00
Jae Kwon
0d03cd9e31 Make it compile 2017-12-12 14:00:03 -08:00
Jae Kwon
50a30aafc1 New canonical Iterator 2017-12-12 12:44:47 -08:00
Zach Ramsay
f39b575503 remove deprecated --root flag 2017-12-12 16:55:41 +00:00
Ethan Buchman
d836ee056d Merge pull request #96 from tendermint/tm-945
add String method to Query interface
2017-12-10 19:05:00 -05:00
Jae Kwon
a0b692c86d Add PushBytes to Heap 2017-12-10 14:23:27 -08:00
Jae Kwon
03dfb724c7 Change heap.Push to mean int priority 2017-12-10 10:18:35 -08:00
Anton Kaliaev
e4ef2835f0 return error if client already subscribed 2017-12-09 23:35:14 -06:00
Anton Kaliaev
cb4ba522ef add String method to Query interface
Required for https://github.com/tendermint/tendermint/issues/945
2017-12-09 23:05:13 -06:00
Jae Kwon
988e190ef7 Deprecated Panic* 2017-12-09 09:26:03 -08:00
Anton Kaliaev
b49bce2bc3 Merge pull request #95 from tendermint/feature/repeat-timer
Refactor repeat timer
2017-12-08 11:31:27 -06:00
Anton Kaliaev
ff2fd63bf7 rename trySend to send 2017-12-08 11:17:07 -06:00
Ethan Frey
ec4adf21e0 Cleanup from PR comments 2017-12-08 10:15:26 +01:00
Ethan Frey
cc7a87e27c Use Ticker in Repeat again to avoid drift 2017-12-07 11:22:54 +01:00
Ethan Frey
8797197cdf No more blocking on multiple Stop() 2017-12-07 10:38:50 +01:00
Ethan Frey
887d766c86 Refactored RepeatTimer, tests hang 2017-12-07 10:15:38 +01:00
Anton Kaliaev
daa6c39dcb Merge pull request #94 from tendermint/feature/timer-refactor
Refactor throttle timer
2017-12-06 18:58:23 -06:00
Anton Kaliaev
3779310c72 return back output internal channel (way go does with Timer) 2017-12-06 18:48:39 -06:00
Ethan Frey
8b518fadb2 Don't close throttle channel, explain why 2017-12-06 22:28:18 +01:00
Ethan Frey
e430d3f844 One more attempt with a read-only channel 2017-12-06 21:51:23 +01:00
Ethan Frey
1ac4c5dd6d Made throttle output non-blocking 2017-12-06 21:20:30 +01:00
Ethan Frey
0a8721113a First pass of PR updates 2017-12-06 21:08:55 +01:00
Ethan Frey
4ec7883891 Cleanup 2017-12-06 11:21:01 +01:00
Ethan Frey
dcb4395604 Refactor throttle timer 2017-12-06 11:17:50 +01:00
Ethan Frey
3d9113c16e Add a bit more padding to tests so they pass on osx with -race 2017-12-06 09:18:04 +01:00
Ethan Buchman
bfcc0217f1 Merge pull request #93 from tendermint/release/0.5.0
Release/0.5.0
2017-12-06 02:08:29 -05:00
Ethan Buchman
e6be03db31 update license and changelog 2017-12-06 02:05:57 -05:00
Anton Kaliaev
b166d627f3 bump up version to 0.5.0 2017-12-05 18:04:28 -06:00
Anton Kaliaev
303b6df812 update changelog 2017-12-05 18:04:07 -06:00
Anton Kaliaev
283462dfe4 Merge pull request #86 from tendermint/fix-lint
fix warnings
2017-12-05 17:53:38 -06:00
Anton Kaliaev
c325ce2182 use NoErrorf and Errorf functions 2017-12-05 17:49:42 -06:00
Anton Kaliaev
27ab1f6bd9 Merge pull request #90 from tendermint/feature/throttle-timer
test timers
2017-12-05 14:17:41 -06:00
Ethan Frey
26abd65e34 Add tests for repeat timer 2017-12-05 15:01:07 +01:00