Events: use sorted container (#32395)

* use SortedList

* Update ref_commit
pull/32394/head
Shane Smiskol 12 months ago committed by GitHub
parent 6a9be01857
commit d98ab4ddb1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 13
      selfdrive/controls/lib/events.py
  2. 2
      selfdrive/test/process_replay/ref_commit

@ -3,6 +3,7 @@ import math
import os
from enum import IntEnum
from collections.abc import Callable
from sortedcontainers import SortedList
from cereal import log, car
import cereal.messaging as messaging
@ -48,12 +49,12 @@ EVENT_NAME = {v: k for k, v in EventName.schema.enumerants.items()}
class Events:
def __init__(self):
self.events: list[int] = []
self.static_events: list[int] = []
self.events: SortedList[int] = SortedList()
self.static_events: SortedList[int] = SortedList()
self.events_prev = dict.fromkeys(EVENTS.keys(), 0)
@property
def names(self) -> list[int]:
def names(self) -> SortedList[int]:
return self.events
def __len__(self) -> int:
@ -61,8 +62,8 @@ class Events:
def add(self, event_name: int, static: bool=False) -> None:
if static:
self.static_events.append(event_name)
self.events.append(event_name)
self.static_events.add(event_name)
self.events.add(event_name)
def clear(self) -> None:
self.events_prev = {k: (v + 1 if k in self.events else 0) for k, v in self.events_prev.items()}
@ -92,7 +93,7 @@ class Events:
def add_from_msg(self, events):
for e in events:
self.events.append(e.name.raw)
self.events.add(e.name.raw)
def to_msg(self):
ret = []

@ -1 +1 @@
685a2bb9aacdd790e26d14aa49d3792c3ed65125
cb76a8e9844becc5024985c61bad4ec3518eebf5

Loading…
Cancel
Save