if len(self.subscriptions) >= config.MAXSUBSCRIPTIONS:
self.subscriptions.pop(0).close()
- if seqNo < self.subSeqNo:
+ if seqNo is not None and seqNo < self.subSeqNo:
if self.old_buffer is None or seqNo != self.old_buffer[0]:
channel.write(json.dumps([False, "Unable to reconnect -- sequence number too old."]), seqNo + 1)
return
return
self.unsubscribe(channel)
- channel.write(EMPTY_JSON_LIST)
+ channel.write(EMPTY_JSON_LIST, self.subSeqNo)
def flush(self, scheduled=False):
if scheduled:
message_type, message = msg[:1], msg[1:]
if state == self.AWAITING_AUTH:
if message_type == "s": # subscribe
- tokens = message.split(",", 2)
+ tokens = message.split(",", 1)
if len(tokens) != 2:
self.close("Bad tokens")
return
return
elif state == self.AUTHED:
if message_type == "p": # push
- tokens = message.split(",", 2)
+ tokens = message.split(",", 1)
if len(tokens) != 2:
self.close("Bad tokens")
return