def _relative_now(self, event: EventT = None) -> float: # get current timestamp event = event if event is not None else current_event() if event is None: return time.time() return self._partition_latest_timestamp[event.message.partition]
def _relative_event(self, event: EventT = None) -> float: event = event if event is not None else current_event() # get event timestamp if event is None: raise RuntimeError('Operation outside of stream iteration') return event.message.timestamp
def values(self, event: EventT = None) -> ValuesView: """Return table values view: iterate over values in this table.""" return WindowedValuesView(self, event or current_event())
def items(self, event: EventT = None) -> ItemsView: """Return table items view: iterate over ``(key, value)`` pairs.""" return WindowedItemsView(self, event or current_event())
def __getitem__(self, key: Any) -> WindowSetT: return self.ValueType(key, self.table, self, current_event())
def send_changelog_event(self, key: Any, operation: int, value: Any) -> None: """Send changelog event to the tables changelog topic.""" event = current_event() self._dirty.add(key) self.table._send_changelog(event, (operation, key), value)
def items(self, event: EventT = None) -> ItemsView: return WindowedItemsView(self, event or current_event())
def values(self, event: EventT = None) -> ValuesView: return WindowedValuesView(self, event or current_event())
def send_changelog_event(self, key: Any, operation: int, value: Any) -> None: event = current_event() self._dirty.add(key) self.table._send_changelog(event, (operation, key), value)