bump aiorpcx + adapt basenetwork
This commit is contained in:
parent
a6ff18c872
commit
41332f22c3
2 changed files with 9 additions and 4 deletions
2
setup.py
2
setup.py
|
@ -30,7 +30,7 @@ setup(
|
||||||
packages=find_packages(exclude=('tests',)),
|
packages=find_packages(exclude=('tests',)),
|
||||||
python_requires='>=3.6',
|
python_requires='>=3.6',
|
||||||
install_requires=(
|
install_requires=(
|
||||||
'aiorpcx==0.8.2',
|
'aiorpcx==0.9.0',
|
||||||
'coincurve',
|
'coincurve',
|
||||||
'pbkdf2',
|
'pbkdf2',
|
||||||
'cryptography'
|
'cryptography'
|
||||||
|
|
|
@ -3,7 +3,7 @@ import asyncio
|
||||||
from asyncio import CancelledError
|
from asyncio import CancelledError
|
||||||
from itertools import cycle
|
from itertools import cycle
|
||||||
|
|
||||||
from aiorpcx import ClientSession as BaseClientSession
|
from aiorpcx import RPCSession as BaseClientSession, Connector
|
||||||
|
|
||||||
from torba import __version__
|
from torba import __version__
|
||||||
from torba.stream import StreamController
|
from torba.stream import StreamController
|
||||||
|
@ -13,13 +13,18 @@ log = logging.getLogger(__name__)
|
||||||
|
|
||||||
class ClientSession(BaseClientSession):
|
class ClientSession(BaseClientSession):
|
||||||
|
|
||||||
def __init__(self, *args, network, **kwargs):
|
def __init__(self, *args, network, server, **kwargs):
|
||||||
self.network = network
|
self.network = network
|
||||||
|
self.server = server
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
self._on_disconnect_controller = StreamController()
|
self._on_disconnect_controller = StreamController()
|
||||||
self.on_disconnected = self._on_disconnect_controller.stream
|
self.on_disconnected = self._on_disconnect_controller.stream
|
||||||
self.bw_limit = self.framer.max_size = self.max_errors = 1 << 32
|
self.bw_limit = self.framer.max_size = self.max_errors = 1 << 32
|
||||||
|
|
||||||
|
async def create_connection(self):
|
||||||
|
connector = Connector(lambda: self, *self.server)
|
||||||
|
await connector.create_connection()
|
||||||
|
|
||||||
async def handle_request(self, request):
|
async def handle_request(self, request):
|
||||||
controller = self.network.subscription_controllers[request.method]
|
controller = self.network.subscription_controllers[request.method]
|
||||||
controller.add(request.args)
|
controller.add(request.args)
|
||||||
|
@ -54,8 +59,8 @@ class BaseNetwork:
|
||||||
self.running = True
|
self.running = True
|
||||||
delay = 0.0
|
delay = 0.0
|
||||||
for server in cycle(self.config['default_servers']):
|
for server in cycle(self.config['default_servers']):
|
||||||
|
self.client = ClientSession(network=self, server=server)
|
||||||
connection_string = '{}:{}'.format(*server)
|
connection_string = '{}:{}'.format(*server)
|
||||||
self.client = ClientSession(*server, network=self)
|
|
||||||
try:
|
try:
|
||||||
await self.client.create_connection()
|
await self.client.create_connection()
|
||||||
await self.ensure_server_version()
|
await self.ensure_server_version()
|
||||||
|
|
Loading…
Reference in a new issue