Commit Graph

46 Commits

Author SHA1 Message Date
Neil Booth
71466a6b01 Only process peers if remote peer is good 2018-11-21 18:34:04 +00:00
Neil Booth
eba718c6de Require aiorpcx 0.9.x 2018-10-26 12:18:31 -04:00
Neil Booth
b7c1a693eb Clear retry_event once triggered.
Fixes #603
2018-09-24 11:07:19 +01:00
Neil Booth
499fe7faad Update to aiorpcx 0.8.0 2018-09-12 17:16:56 +01:00
Neil Booth
f0f5aa3ee7 Get rid of chain state 2018-08-11 20:46:39 +09:00
Neil Booth
70319bb22d Merge branch 'master' into devel 2018-08-10 11:06:49 +09:00
Neil Booth
dd67b57c30 Catch and log failures in the main peers task
Closes #565
2018-08-10 09:52:49 +09:00
Neil Booth
e95f556234 Merge branch 'master' into devel 2018-08-09 15:40:07 +09:00
Neil Booth
e2d3f655fb Set retry_event on correct object
Fixes #564
2018-08-09 15:29:10 +09:00
Neil Booth
9a2dfa9ab0 Merge branch 'master' into devel 2018-08-09 06:36:24 +09:00
Neil Booth
9b22fd3a15 Peer verification needs to be serial... 2018-08-08 20:32:51 +09:00
Neil Booth
2803ef913e Merge branch 'master' into devel 2018-08-08 16:33:11 +09:00
Neil Booth
931b227618 Verify a peer concurrently 2018-08-08 12:40:48 +09:00
Neil Booth
9b4276c68d Have peers.py use its own task group 2018-08-08 12:35:58 +09:00
Neil Booth
2d66a4f5aa aiorpcX 0.7.0 has better string text for TaskTimeout 2018-08-08 12:19:18 +09:00
Neil Booth
db5d516756 Make raw_header async 2018-08-06 21:49:26 +09:00
Neil Booth
a036a2eb3f Rename get_utxos to all_utxos.
- no longer takes a limit
- runs in a thread to avoid blocking
2018-08-06 21:38:53 +09:00
Neil Booth
55da063f6b Tweak exception output to use !r 2018-08-06 18:04:20 +09:00
Neil Booth
51c9988b81 Various fixes
- Fix pycodestyle
- Change session.close API
- Fix logging
2018-08-05 11:06:36 +09:00
Neil Booth
2c7d56d097 Update to aiorpcX 0.6 2018-08-05 10:17:35 +09:00
Neil Booth
2c07939120 Temporarily remove one task group from peers.py
Fixes #538
2018-07-29 23:46:58 +08:00
Neil Booth
0b4f6b3d6d Prepare 1.7.1 2018-07-28 17:13:54 +08:00
Neil Booth
d962c97ef1 Have one peer monitoring task per peer 2018-07-28 16:29:02 +08:00
Neil Booth
751f9917a4 Switch to curio primitives
Gives much clearer code
2018-07-28 14:35:54 +08:00
Neil Booth
010ef08320 Catch SOCKSError
Fixes #534
2018-07-27 09:08:05 +08:00
Neil Booth
68dbf9fad2 Tweak task handling so all errors are logged 2018-07-25 21:35:05 +08:00
Neil Booth
db8ee48c2e await on send_request directly 2018-07-25 10:40:50 +08:00
Neil Booth
fa84b0f54b Use asyncio.gather to propogate exceptions 2018-07-25 10:37:13 +08:00
Neil Booth
918592fbff Remove RequestError; clean up a bit 2018-07-25 09:47:07 +08:00
Neil Booth
e1309836ca Fix typo in prior 2018-07-24 21:38:50 +08:00
Neil Booth
eac214e508 Rework peer discovery
Make it more naturally async
2018-07-24 21:22:07 +08:00
Neil Booth
ba607544b9 Avoid callback in peer manager
Spawn separate tasks for each peer we test
2018-07-24 14:26:14 +08:00
Neil Booth
12c024f3ac Log proxy detection failure 2018-07-24 14:02:31 +08:00
Neil Booth
79b98b2b54 Distinguish private and public methods of peer mgr
Give private methods a leading _
Remove dead code
2018-07-24 13:52:40 +08:00
Neil Booth
74c5c3f817 Don't accept onion peers if we have no proxy 2018-07-20 19:03:34 +08:00
Neil Booth
41e734caeb Clean up controller interface with other parts 2018-07-20 12:40:57 +08:00
Neil Booth
391e69b66c Introduce ChainState object
- reduces the tangle of object dependencies
- rationalizes responsibilities
2018-07-18 14:05:39 +08:00
Neil Booth
53425ce585 Move task logic to Tasks object
This helps to rationalize the inter-object
dependencies.
2018-07-18 11:30:33 +08:00
Neil Booth
9cf3b5358f Move raw_header to session manager
Ultimately this stuff belongs in a ChainState object.
2018-07-18 11:30:33 +08:00
Neil Booth
60435c0c06 Fix peer discovery for protocol >= 1.4 2018-07-17 22:45:50 +08:00
Neil Booth
c790fd567c Move things from Controller to session class
which better belong there:

- PROTOCOL_MIN, PROTOCOL_MAX
- server_features()
- server_version_args()
- inline protocol_tuple()
2018-07-17 09:33:33 +08:00
Neil Booth
d2e8fe7fa1 Update peer discovery code for protocol 1.3 2018-07-13 17:57:00 +08:00
Neil Booth
cd85a49a47 Use our own logging, not aiorpcX's 2018-07-13 09:26:37 +08:00
Neil Booth
d51f98e739 Create and use class_logger() utility function 2018-07-12 15:51:42 +08:00
Lex Berezhny
45111898b3 make it easier to configure logging for electrumx (#514)
* make it easier to configure logging for electrumx
2018-07-10 11:17:42 +08:00
Lex Berezhny
29289004e7 electrumx package (#511)
* moved wallet, server, lib into electrumx main module

* fixed imports and other path references affected by electrumx main package

* fixing formatting to pass the pycodetest on travis
2018-07-10 07:28:04 +08:00