Commit Graph
3298 Commits
Author SHA1 Message Date
Ethan BuchmanandGitHub edb871f514 Merge pull request #1237 from tendermint/feature/priv_val_socket_client
privVal: Integrate socket client
2018-02-28 00:57:51 -05:00
Alexander Simmerl 74d3f7e1fd Integrate private validator socket client
Following ADDR 008 the node will connect to an external
process to handle signing requests. Operation of the external process is
left to the user.

* introduce alias for PrivValidator interface on socket client
* integrate socket client in node
* structure tests
* remove unnecessary flag
2018-02-23 13:58:22 +01:00
Ethan BuchmanandGitHub ffd2483e67 Merge pull request #1204 from tendermint/feature/priv_val_sockets
Feature/priv val sockets
2018-02-19 16:06:07 -05:00
Alexander Simmerl a14aab67de Integrate PrivValidator socket server 2018-02-19 19:20:01 +01:00
Alexander Simmerl 106d804357 Correct config description 2018-02-14 02:51:05 +01:00
Alexander Simmerl a1020307a0 Clean up flags 2018-02-14 02:41:16 +01:00
Alexander Simmerl 6c70b4ce05 Apply connection deadline consistently 2018-02-14 02:25:17 +01:00
Alexander Simmerl 2a292efb56 Return error for all PrivValidator methoods
As calls to the private validator can involve side-effects like network
communication it is desirable for all methods returning an error to not
break the control flow of the caller.

* adjust PrivValidator interface
2018-02-13 19:34:50 +01:00
Alexander Simmerl 82b1a34a36 Separate connect logic
* break out connect functionality out of OnStart
* introduce max retries
2018-02-13 19:08:21 +01:00
Ethan Buchman 8da2a6a147 types/priv_validator: fixes for latest p2p and cmn 2018-02-09 17:24:30 -05:00
Alexander SimmerlandEthan Buchman 7d71e702d8 Integrate privVal client with node secret 2018-02-09 16:54:43 -05:00
Alexander SimmerlandEthan Buchman 38d18ca11a Harden tests 2018-02-09 16:53:17 -05:00
Alexander SimmerlandEthan Buchman 32d9563a15 Format and consolidate 2018-02-09 16:53:17 -05:00
Alexander SimmerlandEthan Buchman 18f7e52562 Use secret connection 2018-02-09 16:53:17 -05:00
Alexander SimmerlandEthan Buchman fec541373d Correct server protocol 2018-02-09 16:53:17 -05:00
Alexander SimmerlandEthan Buchman ff600e9aa0 wip: check error of wire read 2018-02-09 16:53:17 -05:00
Alexander SimmerlandEthan Buchman a49357b19e wip: Avoid underscore in var name 2018-02-09 16:53:17 -05:00
Alexander SimmerlandEthan Buchman 4b997c29ee wip: fix nil pointer deference 2018-02-09 16:53:17 -05:00
Alexander SimmerlandEthan Buchman d321839669 wip: fix code block in ADR 2018-02-09 16:53:17 -05:00
Alexander SimmerlandEthan Buchman c27fda09dd wip: Comment types
* add comments to all public types
* fix comments to adhere to comment standards
2018-02-09 16:53:15 -05:00
Ethan Buchman 23eb84db35 wip: priv val via sockets 2018-02-09 16:52:58 -05:00
Ethan Buchman bef91ea7fe adr-008-priv-validator 2018-02-09 16:52:05 -05:00
Ethan Buchman 459633fb4c types/priv_validator 2018-02-09 16:38:23 -05:00
Ethan BuchmanandGitHub f1c8489270 Merge pull request #1201 from tendermint/1022-do-not-enforce-1/3-val-changes
do not enforce 1/3 validator power change
2018-02-09 16:15:38 -05:00
Ethan BuchmanandGitHub 2d10c8f15b Merge pull request #1095 from tendermint/804-p2p-issues
[p2p] Pong Timeout
2018-02-09 14:38:24 -05:00
Anton Kaliaev 106cdb74e5 do not enforce 1/3 validator power change
leave it to the app

Refs #1022
2018-02-09 23:30:04 +04:00
Anton Kaliaev 22b038810a do not block in recvRoutine 2018-02-09 23:03:26 +04:00
Anton Kaliaev 45750e1b29 fix race by sending signal instead of stopping pongTimer 2018-02-09 21:32:29 +04:00
Anton Kaliaev 26419fba28 refactor code plus add one more test
* extract stopPongTimer method
* TestMConnectionMultiplePings
2018-02-09 21:32:29 +04:00
Anton Kaliaev ac0123d249 drain pongTimeoutCh and pongTimer's channel to prevent leaks 2018-02-09 21:32:29 +04:00
Anton Kaliaev f4ff66de30 rewrite pong timer to use time.AfterFunc 2018-02-09 21:32:29 +04:00
Anton Kaliaev 747b73cb95 fix merge conflicts 2018-02-09 21:32:29 +04:00
Anton Kaliaev 161e100a24 close return channel when we're done
Benchmark results:

```
BenchmarkSwitchBroadcast-2         30000             71275 ns/op
--- BENCH: BenchmarkSwitchBroadcast-2
        switch_test.go:339: success: 1, failure: 0
        switch_test.go:339: success: 100, failure: 0
        switch_test.go:339: success: 10000, failure: 0
        switch_test.go:339: success: 30000, failure: 0
```
2018-02-09 21:32:29 +04:00
Anton Kaliaev 3ae738f453 increase timeouts 2018-02-09 21:32:29 +04:00
Anton Kaliaev d14d4a2527 remove TryBroadcast 2018-02-09 21:32:29 +04:00
Anton Kaliaev 860da464df remove weird concurrency testing 2018-02-09 21:32:28 +04:00
Anton Kaliaev 4e2000abfe control order by sending msgs from one goroutine 2018-02-09 21:32:28 +04:00
Anton Kaliaev 5834a59816 read ping 2018-02-09 21:32:28 +04:00
Anton Kaliaev b28b76ddf7 rename pingTimeout to pingInterval, pongTimer is now time.Timer 2018-02-09 21:32:28 +04:00
zbo14andAnton Kaliaev 91e4f4b786 ping/pong timeout in config 2018-02-09 21:32:28 +04:00
zbo14andAnton Kaliaev 9b554fb2c4 switch test modification 2018-02-09 21:32:28 +04:00
zbo14andAnton Kaliaev f97ead4f5f prep for merge 2018-02-09 21:32:28 +04:00
zbo14andAnton Kaliaev 5af22d6ee6 remove SwitchEventNewPeer, SwitchEventDonePeer 2018-02-09 21:32:28 +04:00
zbo14andAnton Kaliaev 1d16df6a92 add test, TrySend in broadcast 2018-02-09 21:32:27 +04:00
Ethan BuchmanandGitHub e7bc946760 Merge pull request #1200 from tendermint/update-deps
Update tmlibs & protobuf deps
2018-02-09 11:00:43 -05:00
Ethan BuchmanandGitHub cf1e1f5899 Merge pull request #1194 from tendermint/1177-semantics-of-currate-low-msg
improve "curRate too low" message
2018-02-09 11:00:09 -05:00
Anton Kaliaev 2f8372d629 update protobuf 2018-02-09 13:58:36 +04:00
Anton Kaliaev d84e4effce update tmlibs 2018-02-09 13:47:51 +04:00
Anton Kaliaev 0c1b91b762 revert back curRate != 0 2018-02-09 13:02:44 +04:00
Anton Kaliaev c8990d06d9 remove curRate != 0 2018-02-09 12:01:13 +04:00