aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2017-04-23 17:08:17 -0400
committerRapptz <[email protected]>2017-04-23 17:08:17 -0400
commit4835ca3404d1691c4bc5639d042fc64ab2aec8c6 (patch)
tree62a5c23dd1fc29891a3de4fa19816e7a0146d476
parentFix RESUME handling and make sure to wait 5 seconds before attempting. (diff)
downloaddiscord.py-4835ca3404d1691c4bc5639d042fc64ab2aec8c6.tar.xz
discord.py-4835ca3404d1691c4bc5639d042fc64ab2aec8c6.zip
Revert "Add timeouts for websocket initial connections."
This reverts commit 6dca5035df3cd6225f4b7761491614b31bcccc29.
-rw-r--r--discord/gateway.py39
1 files changed, 5 insertions, 34 deletions
diff --git a/discord/gateway.py b/discord/gateway.py
index 8b3833b8..ed9e06f8 100644
--- a/discord/gateway.py
+++ b/discord/gateway.py
@@ -71,7 +71,7 @@ class KeepAliveHandler(threading.Thread):
while not self._stop_ev.wait(self.interval):
if self._last_ack + 2 * self.interval < time.time():
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)
try:
@@ -191,13 +191,7 @@ class DiscordWebSocket(websockets.client.WebSocketClientProtocol):
This is for internal use only.
"""
gateway = yield from client.http.get_gateway()
- try:
- 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))
+ ws = yield from websockets.connect(gateway, loop=client.loop, klass=cls)
# dynamically add attributes needed
ws.token = client.http.token
@@ -212,12 +206,7 @@ class DiscordWebSocket(websockets.client.WebSocketClientProtocol):
log.info('Created websocket connected to {}'.format(gateway))
# poll event for OP Hello
- try:
- 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))
+ yield from ws.poll_event()
if not resume:
yield from ws.identify()
@@ -230,7 +219,7 @@ class DiscordWebSocket(websockets.client.WebSocketClientProtocol):
yield from ws.ensure_open()
except websockets.exceptions.ConnectionClosed:
# 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))
else:
return ws
@@ -536,7 +525,6 @@ class DiscordVoiceWebSocket(websockets.client.WebSocketClientProtocol):
HEARTBEAT = 3
SESSION_DESCRIPTION = 4
SPEAKING = 5
- HELLO = 8
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
@@ -552,14 +540,7 @@ class DiscordVoiceWebSocket(websockets.client.WebSocketClientProtocol):
def from_client(cls, client):
"""Creates a voice websocket for the :class:`VoiceClient`."""
gateway = 'wss://' + client.endpoint
- try:
- 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 = yield from websockets.connect(gateway, loop=client.loop, klass=cls)
ws.gateway = gateway
ws._connection = client
@@ -574,16 +555,6 @@ class DiscordVoiceWebSocket(websockets.client.WebSocketClientProtocol):
}
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
@asyncio.coroutine