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
d445a9aafb
Merge pull request #2889 from fjl/godeps-update-notify
...
Godeps: update github.com/rjeczalik/notify to f627deca7a51
2016-08-05 19:29:59 +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
8d9141ed9a
ethereum: add new Go API interfaces
2016-08-05 13:25:52 +02:00
Felix Lange
4be37222ef
Godeps: update github.com/rjeczalik/notify to f627deca7a51
...
Fixes #2829
2016-08-04 21:20:08 +02:00
Felix Lange
b0d9f7372a
internal/ethapi: add missing output fields
...
- returned headers didn't include mixHash
- returned transactions didn't include signature fields
- empty transaction input was returned as "", but should be "0x"
- returned receipts didn't include the bloom filter
- "root" in receipts was missing 0x prefix
2016-08-04 01:40:50 +02:00
Felix Lange
704fde01e8
core/types, core/vm: improve docs, add JSON marshaling methods
...
In this commit, core/types's types learn how to encode and decode
themselves as JSON. The encoding is very similar to what the RPC API
uses. The RPC API is missing some output fields (e.g. transaction
signature values) which will be added to the API in a later commit. Some
fields that the API generates are ignored by the decoder methods here.
2016-08-04 03:55:33 +02:00
Felix Lange
0c9a858f2d
eth: don't call ValidateFields
...
ValidateFields was introduced before the rlp decoder disallowed nil
values. Decoding RLP will never return nil values, there is no need
to check for them.
2016-08-04 03:30:05 +02:00
Felix Lange
b8ba80bff7
Merge pull request #2740 from Firescar96/removepeer
...
node, p2p, internal: Add ability to remove peers via admin interface
2016-07-29 12:34:28 +02:00
Péter Szilágyi
8ec6ccc54d
Merge pull request #2870 from lukeyeager/patch-1
...
Fix README typo
2016-07-27 10:49:04 +03:00
Luke Yeager
1ca9e552d9
README: Fix typo
...
"fine graned" -> "fine-grained"
2016-07-26 17:23:20 -07:00
Péter Szilágyi
8f0a4a25f8
eth/downloader: abort sync if master drops (timeout prev)
2016-07-26 13:07:12 +03:00
Péter Szilágyi
071af57bcf
eth, eth/downloader: don't forward the DAO challenge header
2016-07-26 12:26:41 +03:00
Péter Szilágyi
d68865f3b1
eth/downloader: fewer headers and futures too un ancestor lookup
2016-07-26 11:15:38 +03:00
Péter Szilágyi
a724952f75
Merge pull request #2862 from yep/faster-git-clone
...
containers/docker: use shallow clone of single branch
2016-07-26 09:51:47 +03:00
yep
a4215f469c
containers/docker: whitespace changes only, make future diffs more readable
2016-07-25 16:39:00 +02:00
yep
4c1abcb0ce
containers/docker: use shallow clone of single branch
2016-07-25 16:38:46 +02:00
Péter Szilágyi
1dd272080d
eth, eth/downloader: better remote head tracking
2016-07-25 15:14:14 +03: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