Remove a specific listener or all listeners for an event. Args: event: The Actor event for which to remove listeners. listener: The listener which is supposed to be removed. If not passed, all listeners of this event are removed.
(self, *, event: Event, listener: EventListener[Any] | None = None)
| 208 | self._event_emitter.add_listener(event.value, listener_wrapper) |
| 209 | |
| 210 | def off(self, *, event: Event, listener: EventListener[Any] | None = None) -> None: |
| 211 | """Remove a specific listener or all listeners for an event. |
| 212 | |
| 213 | Args: |
| 214 | event: The Actor event for which to remove listeners. |
| 215 | listener: The listener which is supposed to be removed. If not passed, all listeners of this event |
| 216 | are removed. |
| 217 | """ |
| 218 | if listener: |
| 219 | for listener_wrapper in self._listeners_to_wrappers[event][listener]: |
| 220 | self._event_emitter.remove_listener(event.value, listener_wrapper) |
| 221 | self._listeners_to_wrappers[event][listener] = [] |
| 222 | else: |
| 223 | self._listeners_to_wrappers[event] = defaultdict(list) |
| 224 | self._event_emitter.remove_all_listeners(event.value) |
| 225 | |
| 226 | @overload |
| 227 | def emit(self, *, event: Literal[Event.PERSIST_STATE], event_data: EventPersistStateData) -> None: ... |
no outgoing calls