Merge branch 'release-0.7.20'
This commit is contained in:
commit
8d9a5c4ff2
@ -1,3 +1,9 @@
|
|||||||
|
version 0.7.20
|
||||||
|
--------------
|
||||||
|
|
||||||
|
- fix for errors during batch requests (issue #54)
|
||||||
|
- don't log errors on shutdown after giving sockets time to close
|
||||||
|
|
||||||
version 0.7.19
|
version 0.7.19
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
|
|||||||
@ -41,7 +41,7 @@ def main_loop():
|
|||||||
def on_exception(loop, context):
|
def on_exception(loop, context):
|
||||||
'''Suppress spurious messages it appears we cannot control.'''
|
'''Suppress spurious messages it appears we cannot control.'''
|
||||||
message = context.get('message')
|
message = context.get('message')
|
||||||
if not message in SUPPRESS_MESSAGES:
|
if not loop.is_closed() and not message in SUPPRESS_MESSAGES:
|
||||||
if not ('task' in context and
|
if not ('task' in context and
|
||||||
'accept_connection2()' in repr(context.get('task'))):
|
'accept_connection2()' in repr(context.get('task'))):
|
||||||
loop.default_exception_handler(context)
|
loop.default_exception_handler(context)
|
||||||
|
|||||||
@ -211,16 +211,17 @@ class JSONRPC(asyncio.Protocol, LoggedClass):
|
|||||||
if self.transport.is_closing():
|
if self.transport.is_closing():
|
||||||
return
|
return
|
||||||
|
|
||||||
|
id_ = payload.get('id') if isinstance(payload, dict) else None
|
||||||
try:
|
try:
|
||||||
data = (json.dumps(payload) + '\n').encode()
|
data = (json.dumps(payload) + '\n').encode()
|
||||||
except TypeError:
|
except TypeError:
|
||||||
msg = 'JSON encoding failure: {}'.format(payload)
|
msg = 'JSON encoding failure: {}'.format(payload)
|
||||||
self.logger.error(msg)
|
self.logger.error(msg)
|
||||||
self.send_json_error(msg, self.INTERNAL_ERROR, payload.get('id'))
|
self.send_json_error(msg, self.INTERNAL_ERROR, id_)
|
||||||
else:
|
else:
|
||||||
if len(data) > max(1000, self.max_send):
|
if len(data) > max(1000, self.max_send):
|
||||||
self.send_json_error('request too large', self.INVALID_REQUEST,
|
self.send_json_error('request too large',
|
||||||
payload.get('id'))
|
self.INVALID_REQUEST, id_)
|
||||||
raise self.LargeRequestError
|
raise self.LargeRequestError
|
||||||
else:
|
else:
|
||||||
self.send_count += 1
|
self.send_count += 1
|
||||||
|
|||||||
@ -341,7 +341,7 @@ class ServerManager(util.LoggedClass):
|
|||||||
if self.sessions:
|
if self.sessions:
|
||||||
await self.close_sessions()
|
await self.close_sessions()
|
||||||
|
|
||||||
async def close_sessions(self, secs=60):
|
async def close_sessions(self, secs=30):
|
||||||
self.logger.info('cleanly closing client sessions, please wait...')
|
self.logger.info('cleanly closing client sessions, please wait...')
|
||||||
for session in self.sessions:
|
for session in self.sessions:
|
||||||
self.close_session(session)
|
self.close_session(session)
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
VERSION = "ElectrumX 0.7.19"
|
VERSION = "ElectrumX 0.7.20"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user