When issuing a deregistration message, some last events may still be sent
by the daemon before deregistration completes. Ignore such event messages
silently during deregistration, avoiding exceptions like:
vici.exception.SessionException:
Unexpected response type 7, expected '5' (EVENT_CONFIRM)
if name is None:
i += 1
if i > 2:
+ s.send(Packet.EVENT, name="event", message={"late": b'1'})
s.send(Packet.EVENT_CONFIRM)
s.send(Packet.EVENT_CONFIRM)
break
raise EventUnknownException(
"Unknown event type '{event}'".format(event=event_type)
)
- elif response.response_type != Packet.EVENT_CONFIRM:
+ while response.response_type == Packet.EVENT:
+ response = Packet.parse(self.transport.receive())
+ if response.response_type != Packet.EVENT_CONFIRM:
raise SessionException(
"Unexpected response type {type}, "
"expected '{confirm}' (EVENT_CONFIRM)".format(