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