Fix ack
This commit is contained in:
parent
5146b2f0bc
commit
922de4d160
2 changed files with 11 additions and 8 deletions
|
|
@ -23,10 +23,11 @@ class EngineIO(LoggingMixin):
|
||||||
def __init__(
|
def __init__(
|
||||||
self, host, port=None, Namespace=EngineIONamespace,
|
self, host, port=None, Namespace=EngineIONamespace,
|
||||||
wait_for_connection=True, transports=TRANSPORTS,
|
wait_for_connection=True, transports=TRANSPORTS,
|
||||||
resource='engine.io', **kw):
|
resource='engine.io', hurry_interval_in_seconds=1, **kw):
|
||||||
self._is_secure, self._url = parse_host(host, port, resource)
|
self._is_secure, self._url = parse_host(host, port, resource)
|
||||||
self._wait_for_connection = wait_for_connection
|
self._wait_for_connection = wait_for_connection
|
||||||
self._client_transports = transports
|
self._client_transports = transports
|
||||||
|
self._hurry_interval_in_seconds = hurry_interval_in_seconds
|
||||||
self._http_session = prepare_http_session(kw)
|
self._http_session = prepare_http_session(kw)
|
||||||
self._log_name = self._url
|
self._log_name = self._url
|
||||||
self._wants_to_close = False
|
self._wants_to_close = False
|
||||||
|
|
@ -74,12 +75,14 @@ class EngineIO(LoggingMixin):
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
pass
|
||||||
ping_interval = self._engineIO_session.ping_interval
|
ping_interval = self._engineIO_session.ping_interval
|
||||||
|
if self._transport_name.endswith('-polling'):
|
||||||
|
hurry_interval_in_seconds = self._hurry_interval_in_seconds
|
||||||
|
else:
|
||||||
|
hurry_interval_in_seconds = ping_interval
|
||||||
self._heartbeat_thread = HeartbeatThread(
|
self._heartbeat_thread = HeartbeatThread(
|
||||||
send_heartbeat=self._ping,
|
send_heartbeat=self._ping,
|
||||||
relax_interval_in_seconds=ping_interval,
|
relax_interval_in_seconds=ping_interval,
|
||||||
hurry_interval_in_seconds=1 if self._transport_name in [
|
hurry_interval_in_seconds=hurry_interval_in_seconds)
|
||||||
'xhr-polling',
|
|
||||||
] else ping_interval)
|
|
||||||
self._heartbeat_thread.start()
|
self._heartbeat_thread.start()
|
||||||
|
|
||||||
def _connect_namespaces(self):
|
def _connect_namespaces(self):
|
||||||
|
|
@ -261,13 +264,13 @@ class SocketIO(EngineIO):
|
||||||
def __init__(
|
def __init__(
|
||||||
self, host, port=None, Namespace=SocketIONamespace,
|
self, host, port=None, Namespace=SocketIONamespace,
|
||||||
wait_for_connection=True, transports=TRANSPORTS,
|
wait_for_connection=True, transports=TRANSPORTS,
|
||||||
resource='socket.io', **kw):
|
resource='socket.io', hurry_interval_in_seconds=1, **kw):
|
||||||
self._namespace_by_path = {}
|
self._namespace_by_path = {}
|
||||||
self._callback_by_ack_id = {}
|
self._callback_by_ack_id = {}
|
||||||
self._ack_id = 0
|
self._ack_id = 0
|
||||||
super(SocketIO, self).__init__(
|
super(SocketIO, self).__init__(
|
||||||
host, port, Namespace, wait_for_connection, transports,
|
host, port, Namespace, wait_for_connection, transports,
|
||||||
resource, **kw)
|
resource, hurry_interval_in_seconds, **kw)
|
||||||
|
|
||||||
# Connect
|
# Connect
|
||||||
|
|
||||||
|
|
@ -400,7 +403,7 @@ class SocketIO(EngineIO):
|
||||||
event = args.pop(0)
|
event = args.pop(0)
|
||||||
except IndexError:
|
except IndexError:
|
||||||
raise PacketError('missing event name')
|
raise PacketError('missing event name')
|
||||||
if data_parsed.ack_id:
|
if data_parsed.ack_id is not None:
|
||||||
args.append(self._prepare_to_send_ack(
|
args.append(self._prepare_to_send_ack(
|
||||||
data_parsed.path, data_parsed.ack_id))
|
data_parsed.path, data_parsed.ack_id))
|
||||||
find_packet_callback(event)(*args)
|
find_packet_callback(event)(*args)
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,7 @@ class BaseMixin(object):
|
||||||
})
|
})
|
||||||
|
|
||||||
def test_namespace_ack(self):
|
def test_namespace_ack(self):
|
||||||
'Trigger server callback'
|
'Respond to a server callback request within a namespace'
|
||||||
chat_namespace = self.socketIO.define(Namespace, '/chat')
|
chat_namespace = self.socketIO.define(Namespace, '/chat')
|
||||||
chat_namespace.emit('trigger_server_expects_callback', PAYLOAD)
|
chat_namespace.emit('trigger_server_expects_callback', PAYLOAD)
|
||||||
self.socketIO.wait(self.wait_time_in_seconds)
|
self.socketIO.wait(self.wait_time_in_seconds)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue