def __iter__(self) -> Event: """Iterates over events in the current events file. Returns: An Event object """ while True: header_size = struct.calcsize("Q") header = self._read_and_check(header_size) if header is None: break event_size = struct.unpack("Q", header)[0] event_raw = self._read_and_check(event_size) if event_raw is None: raise EventReadingException("Unexpected end of events file") event = Event() event.ParseFromString(event_raw) yield event
def __iter__(self) -> Event: """ Iterates over events in the current events file :return: An Event object :except: NotImplementedError if the stream is in non-blocking mode. :except: EventReadingError on reading error. """ while True: header_size = struct.calcsize('Q') header = self._read_and_check(header_size) if header is None: break event_size = struct.unpack('Q', header)[0] event_raw = self._read_and_check(event_size) if event_raw is None: raise EventReadingError('Unexpected end of events file') event = Event() event.ParseFromString(event_raw) yield event