Commit Graph

95 Commits

Author SHA1 Message Date
Anton Kaliaev 590efc1040
call saveToFile OnStop
This is better than waiting because while we wait, anything could happen
(crash, timeout of the code who's using addrbook, ...). If we save
immediately, we have much greater chances of success.
2017-04-20 13:36:38 +04:00
Anton Kaliaev 5eeaffd38e
do not create file, just temp dir 2017-04-20 13:36:38 +04:00
Anton Kalyaev 07e7b98c70
improve ensurePeers routine
optimizations:

- if we move peer to the old bucket as soon as connected and pick only
  from new group, we can skip alreadyConnected check
2017-04-20 13:36:38 +04:00
Anton Kalyaev 873d34157d
prevent abuse from peers 2017-04-20 13:36:38 +04:00
Anton Kalyaev 47df1fb7d4
test PEXReactor#Receive 2017-04-20 13:36:38 +04:00
Anton Kalyaev 1a59b6a3b4
replace repeate timer with simple ticker
no need for repeate timer here (no need for goroutine safety)
2017-04-20 13:36:38 +04:00
Anton Kalyaev 0109f1e524
test ensurePeers goroutine 2017-04-20 13:36:37 +04:00
Anton Kalyaev 37d5a2cf3e
implement RemovePeer for PEXReactor 2017-04-20 13:36:37 +04:00
Anton Kalyaev 3af7c67757
add Dockerfile 2017-04-20 13:36:37 +04:00
Anton Kalyaev 26f661a5dd
prefer short names 2017-04-20 13:36:37 +04:00
Anton Kalyaev 057cfb30f1
remove unused error 2017-04-20 13:36:37 +04:00
Ethan Buchman e05052b079 update glide 2017-04-19 00:01:55 -04:00
Ethan Buchman 7d5b62b61f CHANGELOG and version bump 2017-04-18 23:58:24 -04:00
Ethan Buchman e6b7e66bbe Merge pull request #23 from tendermint/more-tests
More tests
2017-04-18 20:26:54 -04:00
Anton Kaliaev 2ac69176e1
add a comment for MConnection#CanSend
also add a note to TestMConnectionSend
2017-04-18 12:11:48 +04:00
Anton Kaliaev fbedb426ce
tests for NetAddress 2017-04-14 16:37:07 +04:00
Anton Kaliaev 6dc113aa80
[netaddress] panic only when normal run 2017-04-14 14:56:02 +04:00
Anton Kaliaev ebe23f1379
refactor MConnection#sendBytes 2017-04-14 14:21:58 +04:00
Anton Kaliaev 06d219db8e
test peer with no auth enc 2017-04-14 12:43:28 +04:00
Anton Kaliaev 1d01f6af98
2 kinds of peers: outbound and inbound 2017-04-13 12:36:16 +04:00
Anton Kaliaev 715b8c629f
use the peer struct to simulate remote peer 2017-04-13 12:09:43 +04:00
Anton Kaliaev a63e1bb2dc
fix possible panic 2017-04-13 12:08:57 +04:00
Anton Kaliaev 5965578c56
[fuzz] only one way to set config variables 2017-04-13 11:55:14 +04:00
Anton Kaliaev 7dcc3dbcd1
test peer 2017-04-12 16:55:17 +04:00
Ethan Buchman c39e001a95 Merge pull request #22 from tendermint/persistent
fix closing conn
2017-04-11 13:40:06 -04:00
Ethan Buchman 8067cdb5f2 fix closing conn 2017-04-11 12:42:11 -04:00
Ethan Buchman ebd3929c0d Merge pull request #18 from tendermint/13-reconnect-to-seeds
persistent peers (Refs 13)
2017-04-10 16:21:02 -04:00
Ethan Buchman 9a1a6c56b4 dont expose makePersistent 2017-04-10 16:05:00 -04:00
Ethan Buchman b6f744c732 fix AddPeerWithConnection 2017-04-10 16:03:14 -04:00
Ethan Buchman a9bb6734e7 SetDeadline for authEnc. Stop peer if Add fails 2017-04-10 16:02:01 -04:00
Anton Kaliaev 8bb3a2e1d7
persistent peers (Refs #13) 2017-04-10 22:47:05 +04:00
Anton Kaliaev f88d56b2f8
add glide 2017-04-10 22:47:04 +04:00
Anton Kaliaev 5b0489cdb4
use plain struct instead of go-config 2017-04-10 22:46:49 +04:00
Anton Kaliaev b8a939a894
test non persistent mconnection 2017-04-10 22:46:48 +04:00
Anton Kaliaev 2b02843453
remove unused const 2017-04-10 22:46:48 +04:00
Anton Kaliaev 5be72672fe
use golang time datatype instead of time units in name 2017-04-10 22:46:48 +04:00
Anton Kaliaev 549d3bd09a
tests for MConnection 2017-04-10 22:46:48 +04:00
Anton Kaliaev 868017cf1a
import go-common as cmn 2017-04-10 22:46:48 +04:00
Ethan Buchman 97a5ed2d1a Merge pull request #16 from tendermint/develop
v0.4.0
2017-03-06 03:11:04 -05:00
Ethan Buchman 53d777a2d5 CHANGELOG.md 2017-03-06 01:30:41 -05:00
Ethan Buchman beb3eda438 fix addrbook start/stop 2017-03-05 22:59:18 -05:00
Ethan Buchman c94bc2bc2b DialSeeds takes an addrbook 2017-03-05 21:57:07 -05:00
Ethan Buchman 56eebb95ee Merge pull request #12 from tendermint/bugfix/pex-issues-335
PEX issues #335
2017-03-04 23:19:51 -05:00
Ethan Buchman 88b5c724f2 remove public addr book funcs from pex 2017-03-04 22:55:42 -05:00
Anton Kaliaev 65b1756978 expose 2 API functions for tendermint#node/node.go 2017-03-04 22:44:25 -05:00
Anton Kaliaev 108beae7a8 more tests for AddrBook 2017-03-04 22:44:25 -05:00
Anton Kaliaev 2773410de4 prevent nil addr
Error:

```
Error: runtime error: invalid memoryaddress or nil pointer dereference\nStack:
goroutine 549 [running]:\nruntime/debug.Stack(0x0, 0x0,
0x0)\n\t/usr/local/go/src/runtime/debug/stack.go:24
+0x80\ngithub.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p.(*MConnection)._recover(0xc821723b00)\n\t/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p/connection.go:173
+0x53\npanic(0xbe1500, 0xc820012080)\n\t/usr/local/go/src/runtime/panic.go:443
+0x4e9\ngithub.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p.(*NetAddress).Valid(0x0,
0x0)\n\t/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p/netaddress.go:125
+0x1c\ngithub.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p.(*NetAddress).Routable(0x0,
0xc8217bb740)\n\t/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p/netaddress.go:117
+0x25\ngithub.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p.(*AddrBook).addAddress(0xc820108380,
0x0,
0xc821739590)\n\t/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p/addrbook.go:524
+0x45\ngithub.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p.(*AddrBook).AddAddress(0xc820108380,
0x0,
0xc821739590)\n\t/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p/addrbook.go:160
+0x286\ngithub.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p.(*PEXReactor).Receive(0xc82000be60,
0xc820149f00, 0xc8218163f0, 0xc82184e000, 0x5b,
0x1000)\n\t/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p/pex_reactor.go:109
+0x457\ngithub.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p.newPeer.func1(0xc82011d500,
0xc82184e000, 0x5b,
0x1000)\n\t/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p/peer.go:58
+0x202\ngithub.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p.(*MConnection).recvRoutine(0xc821723b00)\n\t/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p/connection.go:439
+0x1177\ncreated by
github.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p.(*MConnection).OnStart\n\t/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-p2p/connection.go:138
+0x1a1\n
```
2017-03-04 22:40:48 -05:00
Anton Kalyaev e7656873c1 public save API 2017-03-04 22:40:48 -05:00
Anton Kalyaev 332f7056f7 start/stop the book with reactor
Refs https://github.com/tendermint/tendermint/issues/335
2017-03-04 22:40:48 -05:00
Ethan Buchman 17e6ae813f Merge pull request #15 from tendermint/seedsfix
Seedsfix
2017-03-03 17:33:23 -05:00