Commit Graph

765 Commits

Author SHA1 Message Date
Neil Booth
cd078be882 Fix some typos 2017-01-29 18:43:58 +09:00
Neil Booth
d0ecdcc5bc Add docs/PROTOCOL.rst 2017-01-29 18:38:23 +09:00
Neil Booth
a49137eb05 Fix typo 2017-01-29 08:32:57 +09:00
Neil Booth
961e0e2a1a Merge branch 'develop' 2017-01-29 08:29:51 +09:00
Neil Booth
4a8cec9988 Prepare 0.10.14 2017-01-29 08:29:41 +09:00
Neil Booth
0202b2210a Add peer discovery document 2017-01-29 08:24:18 +09:00
Neil Booth
06c8eda161 Preparations for peer discovery
DEFAULT_PORTS is a now a coin property.
Other miscellaneous updates to get things closer
2017-01-29 06:47:43 +09:00
Neil Booth
f43c08d979 Log fatal messages once only 2017-01-29 06:08:29 +09:00
Neil Booth
48084fa9fb Merge branch 'develop' 2017-01-25 20:38:49 +09:00
Neil Booth
e4c206e123 Namespace fix 2017-01-25 20:38:28 +09:00
Neil Booth
1c0151a69f Merge branch 'develop' 2017-01-25 20:30:14 +09:00
Neil Booth
8bc9abf9c1 Prepare 0.10.13 2017-01-25 20:30:02 +09:00
Neil Booth
e56f188816 Implement peer subscriptions
Incremental updates are passed.
Also implement a server.features RPC
2017-01-25 20:28:19 +09:00
Neil Booth
551c04a3bc Remove all uses of "except:" 2017-01-25 20:28:19 +09:00
Neil Booth
76b6899cf2 Try to avoid asyncio log spew on shutdown
Closes #106.
This is a hacky workaround to an issue that needs to be
fixed in Python's asyncio library (where I filed issue 487
on github)
2017-01-25 20:27:33 +09:00
Neil Booth
cb0160901f Unify executor and futures logic 2017-01-24 21:25:37 +09:00
Neil Booth
059848a07a Merge branch 'develop' 2017-01-24 08:07:05 +09:00
Neil Booth
9b5cb105d5 Prepare 0.10.12 2017-01-24 07:57:29 +09:00
Neil Booth
0ac36aeca0 Make a copy of sessions to loop over 2017-01-24 07:55:52 +09:00
Neil Booth
491080f4c2 Merge branch 'develop' 2017-01-23 23:42:37 +09:00
Neil Booth
1a48ad136c Prepare 0.10.11 2017-01-23 23:39:49 +09:00
Neil Booth
32eee5cd54 Merge branch 'jsonrpc' into develop 2017-01-23 23:36:53 +09:00
Neil Booth
a7462a6ea3 Complete rewrite of JSON RPC infrastructure
Aim to be easier for clients to use, because to do peer
discovery we must act as a client to other servers.

Split out JSON session concept from the asyncio protocol
concept.  This makes the JSON RPC support more easily
testable and usable as a stand-alone library.

In addition, support JSON RPC v1 and v2, and auto-detection
of peer's version.
2017-01-23 23:36:02 +09:00
Neil Booth
d0d4c0d75f Prepare 0.10.10 2017-01-23 07:28:13 +09:00
Petr Kracík
5343c1a286 Changed litecoin genesis block hash (#109) 2017-01-22 23:41:45 +09:00
Neil Booth
05a6da1920 Move peer management to peers.py from irc
It's cleaner and will be useful for peer-to-peer comms later
2017-01-22 23:34:44 +09:00
Neil Booth
ed0646efbf Tidy up request and notification sending 2017-01-20 20:04:56 +09:00
Neil Booth
766da5ed79 Don't maintain a sub_count in controller
Just do a tally occasionally.
It's too tricky to keep it accurate as it double-counts resubscribing to
the same address, for example
2017-01-20 08:09:33 +09:00
Neil Booth
112e0a12a9 Prepare 0.10.9 2017-01-18 20:35:24 +09:00
Neil Booth
4729ba2e21 Tweak the shutdown process
Clean it up a bit and make it harder to do wrongly.
2017-01-18 20:28:57 +09:00
Neil Booth
9a8c598fa8 The session needs to handle the version command. 2017-01-18 19:50:26 +09:00
Neil Booth
b03a44ca5a Prepare 0.10.8 2017-01-18 08:04:14 +09:00
Neil Booth
23c4616711 Fix testcase 2017-01-18 08:02:45 +09:00
Neil Booth
8b8de42f27 Merge branch 'develop' 2017-01-17 08:14:08 +09:00
Neil Booth
0dfdfaba7e Prepare 0.10.7 2017-01-17 08:13:57 +09:00
Neil Booth
f05dd6c2a3 Use snappy compression
Seems to make ~4.5% faster (5281 tx/s -> 5516 tx/s)
Shrinks UTXO DB by ~15% and hist DB by ~5%
2017-01-17 07:59:50 +09:00
Neil Booth
5f9e337457 Improve RocksDB iterator 2017-01-17 07:43:06 +09:00
Neil Booth
5abe4faa8d JSON results are returned with HTTP status 500 2017-01-17 07:23:58 +09:00
Neil Booth
c958b3af49 Remove LMDB
Performance of history writes was very poor even with
the code rewritten to accommodate the environment concept
(see db_abstraction branch)
2017-01-16 22:03:45 +09:00
Neil Booth
6956871d70 Merge branch 'develop' 2017-01-16 21:27:51 +09:00
Neil Booth
ffb4d4f158 Don't print response; might have auth info 2017-01-16 21:27:30 +09:00
Neil Booth
20488a3b04 Merge branch 'develop' 2017-01-16 21:25:08 +09:00
Neil Booth
1a9ac22fa0 Prepare 0.10.6 2017-01-16 21:24:59 +09:00
Neil Booth
65f927122b daemon: properly check for HTTP status codes 2017-01-16 21:22:41 +09:00
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
a50888c932 Merge branch 'release-0.10.5' 2017-01-16 19:34:40 +09:00
Neil Booth
73945c51d1 Prepare 0.10.5 2017-01-16 19:34:17 +09:00
Neil Booth
b01933913f Add traceback for daemon errors 2017-01-16 19:32:22 +09:00
Neil Booth
5aaee6b608 Update docs 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