Commit Graph

220 Commits

Author SHA1 Message Date
Neil Booth
5eb92007ae Remove redundant log; IRC will emit one 2016-11-20 18:18:30 +09:00
Neil Booth
98fd178c62 Make mempool truly asynchronous
Mempool updates happen in parallel asynchronously to processing of
new blocks once caught up.  This means that, e.g., during the initial
slow mempool download incoming blocks can be processed and communicated
to clients without waiting for the downloaded mempool transaction
analysis to complete.  From a client's point of view the server won't
be seen as lagging.
2016-11-20 18:17:55 +09:00
Neil Booth
dd5a31d0f4 Take a little more care cleaning up connections 2016-11-19 20:56:08 +09:00
Neil Booth
8617c82ec2 Floor disk_count at zero. 2016-11-19 20:56:08 +09:00
Neil Booth
ccf24fdc71 Wait 20 secs for sockets to close
10 seems a little low
2016-11-19 20:00:38 +09:00
Neil Booth
d856cbab90 Prepare 0.6.3 2016-11-19 17:10:58 +09:00
Neil Booth
52116539d4 Clean shutdown: wait for transports to close
We give 10 seconds for everything to be cleaned up, then close forcibly.
Fixes #30
2016-11-19 17:05:47 +09:00
Neil Booth
3d87e299ea Move formatted_time to library 2016-11-19 15:42:06 +09:00
Neil Booth
0b52376f23 Add subscription limits 2016-11-19 10:51:16 +09:00
Neil Booth
4a4d11ad7c Prepare release 0.6.2 2016-11-19 08:21:17 +09:00
Neil Booth
ffd6cd63b0 Fix thinko 2016-11-19 08:16:20 +09:00
Neil Booth
913d156786 Convert DaemonError to RPCError
To cleanly return errors to clients
getrawtransaction has the ugly API and still does its own thing

Fixes #32
2016-11-19 08:12:13 +09:00
Neil Booth
942d5d6b00 Fix import 2016-11-19 08:07:37 +09:00
Neil Booth
063a5469cc Move mempool to be with BlockServer
BlockProcessor doesn't really need a mempool; mempools are
only useful for servers.
Set first_sync before flushing, so it goes into DB state.
Start servers immediately on catchup; mempool fills asynchronously.

Fixes #31
2016-11-19 08:02:13 +09:00
Neil Booth
d6fa4a1564 More logging improvements
- log software and DB version at startup
- log more DB info at startup
- log software and DB version when first synced

Fixes #29
2016-11-19 07:29:17 +09:00
Neil Booth
3abddf4a51 Simplify sessions call 2016-11-19 00:02:56 +09:00
Neil Booth
6d7bc7595f Prepare release 0.6.1 2016-11-18 22:28:42 +09:00
Neil Booth
88185b0daa Bump log threshold up; tweak log 2016-11-18 22:20:48 +09:00
Neil Booth
24d9e5a95e Tweak flush logic
Aim to not check cache size if caught up; also reduces logs
2016-11-18 22:17:34 +09:00
Neil Booth
beeb60f324 Implement blockchain.address.get_mempool
Fixes #26
2016-11-18 21:41:27 +09:00
Neil Booth
e6058c3fd3 hex_hash is already hex 2016-11-18 21:16:34 +09:00
Neil Booth
7f3551e435 tx_merkle: catch bad hashes and report properly
Fixes #27
2016-11-18 20:56:53 +09:00
Neil Booth
4fe7e7dab2 Merge branch 'better_logs' into develop 2016-11-18 20:19:27 +09:00
Neil Booth
d2c575a24b Better, more concise logs, particularly when caught up. 2016-11-18 20:08:43 +09:00
Neil Booth
3f8b26291a At startup only log some things during initial sync 2016-11-18 19:21:45 +09:00
Neil Booth
66c493dbf4 Make the default reorg_limit a coin property 2016-11-18 19:21:38 +09:00
Neil Booth
022a919701 Prepare release 0.6 2016-11-17 23:08:19 +09:00
Neil Booth
4c7f72fe68 RPCError is not a global variable 2016-11-17 22:07:37 +09:00
Neil Booth
f4651c0ca4 Store tx_num in 'h' table key so keys are unique 2016-11-17 07:59:40 +09:00
Neil Booth
3c98053f5d Remove some dead code 2016-11-17 07:44:42 +09:00
Neil Booth
c5c7b6f438 Have all expensive requests yield. 2016-11-17 06:50:46 +09:00
Neil Booth
f17ad2ddf4 Put notifications on the session queue
This keeps the network in-order and means slow clients get slow
notifications, which seems fairer.

Add some simple logging
2016-11-17 06:04:08 +09:00
Neil Booth
a1eb446af4 Tweak notify handling 2016-11-17 05:37:37 +09:00
Neil Booth
cc2db4a62c Bump HIST_MB default to 300MB 2016-11-16 06:39:39 +09:00
Neil Booth
b60eb5ca17 Prepare 0.5.1 2016-11-15 21:34:08 +09:00
Neil Booth
d85034353f Remove useless re-raise of cancellation 2016-11-15 20:13:50 +09:00
Neil Booth
db187540d5 Have task coros handle cancelled exceptions 2016-11-15 20:09:38 +09:00
Neil Booth
a2280bbc93 Clean up futures handling 2016-11-15 20:09:38 +09:00
Neil Booth
8671e57183 Move fs flushes to same time as history flushes 2016-11-15 06:28:52 +09:00
Neil Booth
8c55f41305 Accept more SSL protocols 2016-11-14 23:13:34 +09:00
Neil Booth
95cc979465 Yield more during mempool load 2016-11-14 23:12:50 +09:00
Neil Booth
1830cae3de Remove a redundant message 2016-11-14 21:52:25 +09:00
Neil Booth
83674b1b7b Clarify peername() logic 2016-11-14 21:28:42 +09:00
Neil Booth
be45a9e228 Minor improvements to client handling
Don't create a task until ready to execute it
Log expensive tasks
Assume peers are for logging unless explicitly not stated
2016-11-14 21:15:09 +09:00
Neil Booth
14d3d85bd9 Need an array to take its len 2016-11-14 19:52:18 +09:00
Neil Booth
dc74c869a1 Await task after cancelling it. 2016-11-14 19:24:17 +09:00
Neil Booth
984a482590 Merge branch 'master' into develop 2016-11-14 08:11:40 +09:00
Neil Booth
12ed9f7069 Have session_count return a dictionary 2016-11-14 08:01:00 +09:00
Neil Booth
1b8881800d Move the RPC handlers to the manager 2016-11-14 07:56:48 +09:00
Johann Bauer
d45321927e Add optional option to anonymise logs (remove IP addresses) 2016-11-13 23:56:16 +01:00