Felix Lange
f5f042ffdc
rpc: ensure client doesn't block for slow subscribers
...
I initially made the client block if the 100-element buffer was
exceeded. It turns out that this is inconvenient for simple uses of the
client which subscribe and perform calls on the same goroutine, e.g.
client, _ := rpc.Dial(...)
ch := make(chan int) // note: no buffer
sub, _ := client.EthSubscribe(ch, "something")
for event := range ch {
client.Call(...)
}
This innocent looking code will lock up if the server suddenly decides
to send 2000 notifications. In this case, the client's main loop won't
accept the call because it is trying to deliver a notification to ch.
The issue is kind of hard to explain in the docs and few people will
actually read them. Buffering is the simple option and works with close
to no overhead for subscribers that always listen.
2016-08-05 20:48:33 +02:00
Felix Lange
464660651d
rpc: don't exceed context deadline while waiting for send lock
2016-08-05 13:27:02 +02:00
Felix Lange
3e3a79ea13
Merge pull request #2855 from karalabe/downloader-fix-stall-drop
...
eth/downloader: fix the stall checks/drops during sync
2016-07-25 12:56:11 +02:00
bas-vk
771655e3fe
Merge pull request #2808 from fjl/rpc-client-3
...
rpc: add new client, use it everywhere
2016-07-25 10:07:05 +02:00
Felix Lange
60cd5bf939
Merge pull request #2842 from fjl/downloader-remove-eth61
...
eth, eth/downloader, eth/fetcher: delete eth/61 sync code
2016-07-22 23:23:30 +02:00
Felix Lange
91b7690428
rpc: add new client, use it everywhere
...
The new client implementation supports concurrent requests,
subscriptions and replaces the various ad hoc RPC clients
throughout go-ethereum.
2016-07-22 23:21:27 +02:00
Felix Lange
bb01bea4e2
rpc: fix bad method error for batch requests
...
If a batch request contained an invalid method, the server would reply
with a non-batch error response. Fix this by tracking an error for each
batch element.
2016-07-22 23:21:27 +02:00
Felix Lange
c145589f25
rpc: remove grace period when shutting down the server
...
The server delayed closing of connections for 3s when stopping. This was
supposed to allow for slow handlers, but it didn't really work. When
geth quits, it will just exit immediately after quitting the server.
Removing the timer makes testing easier because all connections will be
closed after Stop returns.
2016-07-22 23:21:27 +02:00
Péter Szilágyi
c7c82f1b44
eth/downloader: fix the stall checks/drops during sync
2016-07-22 17:55:46 +03:00
Péter Szilágyi
f58ac2b46b
Merge pull request #2712 from bas-vk/sendtx
...
eth/api: rename signAndSendTransaction to sendTransaction
2016-07-22 14:28:21 +03:00
Felix Lange
016007bd25
eth, eth/downloader, eth/fetcher: delete eth/61 code
...
The eth/61 protocol was disabled in #2776 , this commit removes its
message handlers and hash-chain sync logic.
2016-07-22 13:17:19 +02:00
Bas van Kervel
4ee00b2309
eth/api: rename signAndSendTransaction to sendTransaction
2016-07-22 13:12:14 +02:00
Péter Szilágyi
fb81bc3291
Merge pull request #2851 from yep/alpine-3-4
...
containers/docker: update to alpine 3.4
2016-07-22 12:18:22 +03:00
Péter Szilágyi
c646d287f8
Merge pull request #2833 from karalabe/fix-dao-challenge-annoyance
...
eth: cancel DAO challenge on peer drop (annoying log)
2016-07-22 11:57:43 +03:00
yep
51d4539a79
containers/docker: update to alpine 3.4
2016-07-22 07:37:41 +02:00
Péter Szilágyi
f273c64a94
Merge pull request #2836 from fjl/godeps-update-leveldb
...
Godeps: bump github.com/syndtr/goleveldb/... to ab8b5dcf104
2016-07-20 10:55:53 +03:00
Felix Lange
74ec95e7f6
Merge pull request #2711 from hdiedrich/1.4.7-filter-races-cleanup
...
Fix #2710 Filter race: concurrent map read and map write
2016-07-19 23:14:08 +02:00
Felix Lange
65f340bb95
Merge pull request #2821 from Arachnid/discover-enode
...
cmd/bootnode: Add support for outputting a node's ID on the command line
2016-07-19 18:53:22 +02:00
Felix Lange
4d014d6d7e
Godeps: bump github.com/syndtr/goleveldb/... to ab8b5dcf104
2016-07-19 18:45:42 +02:00
Péter Szilágyi
fe56461387
Merge pull request #2834 from zsfelfoldi/chaindb-upgrade-fix
...
eth: fixed chaindb upgrade
2016-07-19 18:41:58 +03:00
zsfelfoldi
56efed71b5
eth: fixed chaindb upgrade
2016-07-19 14:32:38 +02:00
Péter Szilágyi
91f18ffd47
eth: cancel DAO challenge on peer drop (annoying log)
2016-07-19 12:00:09 +03:00
Jeffrey Wilcke
a4c4125b11
Merge pull request #2814 from karalabe/dao-hard-finalcombo
...
cmd, core, eth, miner, params, tests: finalize the DAO fork
2016-07-16 12:08:16 +02:00
Péter Szilágyi
993b412160
cmd/utils, eth: display the user's current fork, minor text tweak
2016-07-16 12:38:37 +03:00
Péter Szilágyi
2c2e389b77
cmd, core, eth, miner, params, tests: finalize the DAO fork
2016-07-15 16:52:55 +03:00
Péter Szilágyi
3291235711
accounts, core, eth: pass chain config for chain maker to test DAO
2016-07-15 16:52:55 +03:00
Péter Szilágyi
461cdb593b
core, params, tests: add DAO hard-fork balance moves
2016-07-15 16:52:55 +03:00
Péter Szilágyi
7f00e8c033
core, eth: enforce network split post DAO hard-fork
2016-07-15 16:52:55 +03:00
Péter Szilágyi
a87089fd2d
cmd, core, miner: add extradata validation to consensus rules
2016-07-15 16:52:55 +03:00
Péter Szilágyi
1e24c2e4f4
cmd/geth, miner, params: special extradata for DAO fork start
2016-07-15 16:52:55 +03:00
Péter Szilágyi
9e56811a37
core: gracefully handle missing homestead block config
2016-07-15 16:52:55 +03:00
Péter Szilágyi
6060e098c9
cmd, core, eth, params: implement flags to control dao fork blocks
2016-07-15 16:52:55 +03:00
Péter Szilágyi
aa1e052cb4
Merge pull request #2823 from karalabe/circleci-hive
...
circleci: enable docker based hive testing
2016-07-15 16:32:04 +03:00
Péter Szilágyi
1a652afe16
Merge pull request #2724 from pirapira/fix_reset_fees
...
vm: Replace some SstoreClearGas with SstoreResetGas
2016-07-15 16:24:16 +03:00
Péter Szilágyi
6f1e45d5ba
circleci: enable docker based hive testing
2016-07-15 16:07:34 +03:00
Nick Johnson
91130ea3fc
cmd/bootnode: Add support for outputting a node's ID on the command line
2016-07-15 11:09:37 +01:00
Felix Lange
b7caa1751c
Merge pull request #2819 from fjl/rpc-back-to-npipe
...
Godeps, rpc: switch back to package npipe
2016-07-15 09:11:06 +02:00
Felix Lange
39b4ef4b02
Godeps: update golang.org/x/net/...
...
This adds compatibility with Go 1.7, where context has
moved into the standard library.
2016-07-14 23:03:40 +02:00
Felix Lange
74be4a62c5
Godeps, rpc: switch back to package npipe
...
The named pipe implementation from go-winio has some issues
that need to be addressed before we can use it again.
2016-07-14 23:03:40 +02:00
Felix Lange
e11489eb5f
appveyor.yml: don't install Go and MinGW, they're already there ( #2813 )
2016-07-14 10:33:20 +02:00
Péter Szilágyi
f970610c04
Merge pull request #2799 from zsfelfoldi/api-nonce-fix2
...
core: added CheckNonce() to Message interface
2016-07-12 16:07:15 +03:00
Matthew Di Ferrante
68b48cc045
cmd/geth: print version on geth start ( #2622 )
2016-07-12 14:43:15 +02:00
Péter Szilágyi
7596b33506
Merge pull request #2801 from karalabe/dao-hardfork-importdrop
...
eth/downloader: return invalid chain (peer drop) on import fails
2016-07-12 15:22:13 +03:00
Péter Szilágyi
2b7aff202a
Merge pull request #2793 from karalabe/blockchain-import-mine-datarace
...
core: solve a remote-import/local-mine data race
2016-07-12 15:16:11 +03:00
Péter Szilágyi
e76c55a9b8
Merge pull request #2805 from karalabe/readme-running-geth
...
README: expand with "Running Geth" section
2016-07-12 14:16:45 +03:00
Péter Szilágyi
ca211065b6
README: expand with "Running Geth" section
2016-07-12 12:51:31 +03:00
villesundell
c7442ef0d2
ethdb, p2p/discover: replace "alloted" with "allotted" ( #2785 )
2016-07-12 11:42:47 +02:00
Péter Szilágyi
a691aa2a13
eth/downloader: return invalid chain (peer drop) on import fails
2016-07-11 19:00:49 +03:00
zsfelfoldi
00787fe781
core: added CheckNonce() to Message interface
2016-07-11 12:35:23 +02:00
Péter Szilágyi
f5a29eab5c
core: solve a remote-import/local-mine data race
2016-07-08 16:59:19 +03:00