signalling/server: python 3.8 asyncio has it's own TimeoutError

This commit is contained in:
Matthew Waters 2020-05-01 18:58:30 +10:00 committed by Matthew Waters
parent 3a86a37c03
commit 7445fc4928

View file

@ -15,8 +15,7 @@ import asyncio
import websockets import websockets
import argparse import argparse
import http import http
import concurrent
from concurrent.futures._base import TimeoutError
class WebRTCSimpleServer(object): class WebRTCSimpleServer(object):
@ -58,7 +57,7 @@ class WebRTCSimpleServer(object):
while msg is None: while msg is None:
try: try:
msg = await asyncio.wait_for(ws.recv(), self.keepalive_timeout) msg = await asyncio.wait_for(ws.recv(), self.keepalive_timeout)
except TimeoutError: except (asyncio.exceptions.TimeoutError, concurrent.futures._base.TimeoutError):
print('Sending keepalive ping to {!r} in recv'.format(raddr)) print('Sending keepalive ping to {!r} in recv'.format(raddr))
await ws.ping() await ws.ping()
return msg return msg