From 74e6fe416f187f9891e14388f1d7a50314f4f0ee Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Tue, 7 Aug 2018 10:46:12 +0900 Subject: [PATCH] Move close() up to the base class Fixes #557 --- docs/changelog.rst | 3 +++ electrumx/server/session.py | 14 +++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index fae97d5..fd9f3a4 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -11,6 +11,8 @@ Version 1.8.1 (in development) ============================== +* fix `#557`_ + Version 1.8 (06 Aug 2018) ========================== @@ -199,3 +201,4 @@ bitcoincash:qzxpdlt8ehu9ehftw6rqsy2jgfq4nsltxvhrdmdfpn .. _#523: https://github.com/kyuupichan/electrumx/issues/523 .. _#534: https://github.com/kyuupichan/electrumx/issues/534 .. _#538: https://github.com/kyuupichan/electrumx/issues/538 +.. _#557: https://github.com/kyuupichan/electrumx/issues/557 diff --git a/electrumx/server/session.py b/electrumx/server/session.py index 23a5187..4676ef1 100644 --- a/electrumx/server/session.py +++ b/electrumx/server/session.py @@ -584,6 +584,13 @@ class SessionBase(ServerSession): def sub_count(self): return 0 + # FIXME: make this the aiorpcx API for version 0.7 + async def close(self, force_after=30): + '''Close the connection and return when closed.''' + async with ignore_after(force_after): + await super().close() + self.abort() + async def handle_request(self, request): '''Handle an incoming request. ElectrumX doesn't receive notifications from client sessions. @@ -645,13 +652,6 @@ class ElectrumX(SessionBase): def protocol_version_string(self): return util.version_string(self.protocol_tuple) - # FIXME: make this the aiorpcx API for version 0.7 - async def close(self, force_after=30): - '''Close the connection and return when closed.''' - async with ignore_after(force_after): - await super().close() - self.abort() - async def daemon_request(self, method, *args): '''Catch a DaemonError and convert it to an RPCError.''' try: