mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-07-05 17:41:53 +00:00
Revert "Add timeouts for websocket initial connections."
This reverts commit 6dca5035df3cd6225f4b7761491614b31bcccc29.
This commit is contained in:
parent
a76909e182
commit
4835ca3404
@ -71,7 +71,7 @@ class KeepAliveHandler(threading.Thread):
|
|||||||
while not self._stop_ev.wait(self.interval):
|
while not self._stop_ev.wait(self.interval):
|
||||||
if self._last_ack + 2 * self.interval < time.time():
|
if self._last_ack + 2 * self.interval < time.time():
|
||||||
log.warn("We have stopped responding to the gateway.")
|
log.warn("We have stopped responding to the gateway.")
|
||||||
coro = self.ws.close(1001)
|
coro = self.ws.close(1006)
|
||||||
f = compat.run_coroutine_threadsafe(coro, loop=self.ws.loop)
|
f = compat.run_coroutine_threadsafe(coro, loop=self.ws.loop)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -191,13 +191,7 @@ class DiscordWebSocket(websockets.client.WebSocketClientProtocol):
|
|||||||
This is for internal use only.
|
This is for internal use only.
|
||||||
"""
|
"""
|
||||||
gateway = yield from client.http.get_gateway()
|
gateway = yield from client.http.get_gateway()
|
||||||
try:
|
ws = yield from websockets.connect(gateway, loop=client.loop, klass=cls)
|
||||||
ws = yield from asyncio.wait_for(
|
|
||||||
websockets.connect(gateway, loop=client.loop, klass=cls),
|
|
||||||
timeout=60, loop=client.loop)
|
|
||||||
except asyncio.TimeoutError:
|
|
||||||
log.warn('timed out waiting for client connect')
|
|
||||||
return (yield from cls.from_client(client, resume=resume))
|
|
||||||
|
|
||||||
# dynamically add attributes needed
|
# dynamically add attributes needed
|
||||||
ws.token = client.http.token
|
ws.token = client.http.token
|
||||||
@ -212,12 +206,7 @@ class DiscordWebSocket(websockets.client.WebSocketClientProtocol):
|
|||||||
log.info('Created websocket connected to {}'.format(gateway))
|
log.info('Created websocket connected to {}'.format(gateway))
|
||||||
|
|
||||||
# poll event for OP Hello
|
# poll event for OP Hello
|
||||||
try:
|
yield from ws.poll_event()
|
||||||
yield from asyncio.wait_for(ws.poll_event(), timeout=60, loop=client.loop)
|
|
||||||
except asyncio.TimeoutError:
|
|
||||||
log.warn("timed out waiting for client HELLO")
|
|
||||||
yield from ws.close(1001)
|
|
||||||
return (yield from cls.from_client(client, resume=resume))
|
|
||||||
|
|
||||||
if not resume:
|
if not resume:
|
||||||
yield from ws.identify()
|
yield from ws.identify()
|
||||||
@ -230,7 +219,7 @@ class DiscordWebSocket(websockets.client.WebSocketClientProtocol):
|
|||||||
yield from ws.ensure_open()
|
yield from ws.ensure_open()
|
||||||
except websockets.exceptions.ConnectionClosed:
|
except websockets.exceptions.ConnectionClosed:
|
||||||
# ws got closed so let's just do a regular IDENTIFY connect.
|
# ws got closed so let's just do a regular IDENTIFY connect.
|
||||||
log.warn('RESUME failure.')
|
log.info('RESUME failure.')
|
||||||
return (yield from cls.from_client(client))
|
return (yield from cls.from_client(client))
|
||||||
else:
|
else:
|
||||||
return ws
|
return ws
|
||||||
@ -536,7 +525,6 @@ class DiscordVoiceWebSocket(websockets.client.WebSocketClientProtocol):
|
|||||||
HEARTBEAT = 3
|
HEARTBEAT = 3
|
||||||
SESSION_DESCRIPTION = 4
|
SESSION_DESCRIPTION = 4
|
||||||
SPEAKING = 5
|
SPEAKING = 5
|
||||||
HELLO = 8
|
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
@ -552,14 +540,7 @@ class DiscordVoiceWebSocket(websockets.client.WebSocketClientProtocol):
|
|||||||
def from_client(cls, client):
|
def from_client(cls, client):
|
||||||
"""Creates a voice websocket for the :class:`VoiceClient`."""
|
"""Creates a voice websocket for the :class:`VoiceClient`."""
|
||||||
gateway = 'wss://' + client.endpoint
|
gateway = 'wss://' + client.endpoint
|
||||||
try:
|
ws = yield from websockets.connect(gateway, loop=client.loop, klass=cls)
|
||||||
ws = yield from asyncio.wait_for(
|
|
||||||
websockets.connect(gateway, loop=client.loop, klass=cls),
|
|
||||||
timeout=60, loop=client.loop)
|
|
||||||
except asyncio.TimeoutError:
|
|
||||||
log.warn("timed out waiting for voice client connect")
|
|
||||||
return (yield from cls.from_client(client))
|
|
||||||
|
|
||||||
ws.gateway = gateway
|
ws.gateway = gateway
|
||||||
ws._connection = client
|
ws._connection = client
|
||||||
|
|
||||||
@ -574,16 +555,6 @@ class DiscordVoiceWebSocket(websockets.client.WebSocketClientProtocol):
|
|||||||
}
|
}
|
||||||
|
|
||||||
yield from ws.send_as_json(identify)
|
yield from ws.send_as_json(identify)
|
||||||
|
|
||||||
try:
|
|
||||||
# Wait until we have processed READY and keep alive is running
|
|
||||||
while not ws._keep_alive:
|
|
||||||
yield from asyncio.wait_for(ws.poll_event(), timeout=60, loop=client.loop)
|
|
||||||
except asyncio.TimeoutError:
|
|
||||||
log.warn("timed out waiting for voice client READY")
|
|
||||||
yield from ws.close(1001)
|
|
||||||
return (yield from cls.from_client(client))
|
|
||||||
|
|
||||||
return ws
|
return ws
|
||||||
|
|
||||||
@asyncio.coroutine
|
@asyncio.coroutine
|
||||||
|
Loading…
x
Reference in New Issue
Block a user