Neil Booth
131601a7b2
Rework clean shutdown logic
...
So that the main block processor future is cancellable.
We wait for the executor and then flush anything unflushed.
Resolves the rest of the second part of #100
2017-01-16 21:22:24 +09:00
Neil Booth
b01933913f
Add traceback for daemon errors
2017-01-16 19:32:22 +09:00
Neil Booth
8d58d2a0e7
Clean up shutdown logic and logging
...
Add RPC "stop" command, and document it.
Fixes the 2nd part of #100
2017-01-16 19:31:57 +09:00
Neil Booth
9e6de7a554
Merge branch 'json-named-args' into develop
2017-01-12 22:41:18 +09:00
Neil Booth
d2da494120
Clarify README; no need to resync.
...
Update HOWTO and docs
2017-01-12 22:40:21 +09:00
Neil Booth
4eed43accb
Add named-argument handling as per JSON RPC 2.0
...
This involved a rewrite of the JSON RPC layer.
I took the opportunity to clean up the handling of requests
in general. It should now be easy to return nice help from
the docstrings.
Closes issue #99
2017-01-12 07:59:21 +09:00
Neil Booth
2ad64f6243
Add an RPC call to force a reorg at run-time
...
This required a large rework block processor and prefetcher
interaction, and led to various cleanups
Closes #103
2017-01-09 17:14:06 +09:00
Neil Booth
15051124af
Make flushes and reorgs async
...
Apart from the flush on shutdown and the flush when caught up,
neither of which matter, this makes flushes asynchronous.
Also, block processing for reorgs is now asynchronous.
This also removes the FORCE_REORG debug envvar; I want to
put that into the RPC interface.
Closes #102
2017-01-09 16:15:17 +09:00
Neil Booth
18af57059f
Improve group handling.
...
I believe this fixes #94
2017-01-07 15:21:45 +09:00
Neil Booth
2b2909f1c4
Move to hashX
...
The hashX of a script is the first 11 bytes of its sha256 hash.
Closes #72 .
2017-01-07 11:51:01 +09:00
Neil Booth
5cbe878cb8
Move ServerManager to controller.py
...
rename Controller
2017-01-02 17:30:32 +09:00
Neil Booth
93d53bdd87
The controller is dead!
2016-11-08 08:29:56 +09:00
Neil Booth
2b028cc065
Create BlockServer
...
Controller now an empty shell
2016-11-08 08:09:59 +09:00
Neil Booth
1393f6a030
Move signal handling out of the controller
2016-11-08 00:04:10 +09:00
Neil Booth
7f03b0fa73
Move job handling out of the controller
...
Controller on its last legs...
2016-11-07 19:57:23 +09:00
Neil Booth
00e9c5a31d
Add daemon debugging caught-up facility
2016-11-05 21:37:02 +09:00
Neil Booth
fb43712869
Controller clean up
2016-11-03 19:09:33 +09:00
Neil Booth
be2475f617
Handle utxo.get_address
2016-11-03 19:08:25 +09:00
Neil Booth
ceecdc54ac
Server work
...
Avoid touching the block preprocessor hot loop for now
2016-11-03 17:26:50 +09:00
Neil Booth
3d11afbda2
Enable servers
2016-11-03 16:48:10 +09:00
Neil Booth
d2ebb80fac
Extend copyright notice; improve comments
2016-11-03 16:45:06 +09:00
Neil Booth
3e4db868e6
Don't start servers for now.
2016-10-28 05:47:34 +09:00
Neil Booth
cdbb6b093a
Fix fs_cache tx count
2016-10-27 19:26:47 +09:00
Neil Booth
2001d5c4f4
Merge the DB and BlockProcessor classes
2016-10-27 07:59:46 +09:00
Neil Booth
c008c04e43
Move caches to their own file.
...
Move the DB to the block_processor file. It will merge with it soon.
2016-10-27 07:58:00 +09:00
Neil Booth
ace80c7b87
Split out the prefetcher.
2016-10-27 07:49:56 +09:00
Neil Booth
a813eaf5f5
Rename BlockCache and put in own file
2016-10-27 07:49:23 +09:00
Neil Booth
897e68d20c
Move some daemon logic to daemon.py
2016-10-27 07:45:10 +09:00
Neil Booth
6711ed0ae8
Clean up initialization of controller
2016-10-27 07:44:26 +09:00
Neil Booth
8452d0c016
Split out daemon handler into separate file.
2016-10-27 07:43:48 +09:00
Neil Booth
30d1b7f77c
Add proper block chaining check
2016-10-27 07:38:39 +09:00
Neil Booth
6ad8c16c47
Handle a couple more requests.
2016-10-27 07:25:34 +09:00
Neil Booth
1084060493
Clean up controller init, and sync on catch up
2016-10-27 07:23:52 +09:00
Neil Booth
208ed5d2b2
Don't start servers
2016-10-27 07:13:50 +09:00
Neil Booth
334ffdaa4f
Begin work on proper server
2016-10-17 20:02:42 +09:00