* add cereal mypy.ini
* mypy doesn't use unittest asserts yet
* Argument 1 to "len" has incompatible type "object"; expected "Sized" [arg-type]
* type ports
* int|none
* final thing
* move to pyproject.toml
* clean p
* Add runtime checks for event API on macOS
* Fix stub ppoll impl
* Fix lint issues
* Remove assert from event_state_shm_mmap
* Add variable args in ppoll macro
* Skip fake socket tests on macOS
* Add missing newline
* PPOLL and ppoll_impl definitions
* Update macro signature
* Fix issues on linux
* Stub empty implementation of event for macos
* Go back to shorter fds/timeout initialization
* Complete stub implementation of event api
* Fix unused variable warning
* Remove extra space
* Throw runtime_error in Socket::create
* Add messages to MessagingError
* Fix cython bindings
* Write a message to stderr instead of throwing runtime_error
* Implementation of FakeSubSocket and FakePubSocket using eventfd with support for one-in/one-out synchronization
* Expose FakeEvent to Python
* Add demo showcasing synchronization between processes
* Fix linter errors
* Expose more FakeEvent APIs in Python bindings
* Add FakePoller implementation
* Remove suffix from poll env vars
* Set poller timeout to zero when events are enabled
* Replace poll with ppoll. Add invalidation methods
* Fix lint issues
* Fix comment indent
* Remove fake_demo
* Remove FakePubSocket. Simpler FakePoller implementation. Ability to wait for multiple events
* Rename FakeEvent to Event and move it to event.cc
* Rename event purpose constants in py
* Add support for timeout in wait methods
* Add tests for events and fake sockets
* Fix lint errors
* Add zmq sleeps
* Temporarly disable TestFakeSockets on ZMQ
* Add exception type specifiers to test_fake
* Event Manager implementation
* Fix fake sockets tests
* Update EventManager API
* Add test for enable/disable
* Add tests for cereal prefix
* Remove EventPurpose from python bindings
* Fix lint issues
* event_state_shm_mmap implementation shared by EventManager and FakeSubSocket
* Rename EventManager to SocketEventHandle
* More renames
* change from sensorEvents to separated events
* fix numbering
* remove sensorEvent
* update after rebase
* .
* move bmx gyro and accel to its own channels
* address PR comments
* .
* inc frequency in tests
* .
* rename sensorEventsDEPRECATED sensorEvents
* readd sensorEvents in services.py
* .
Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
* add poll to c++ submaster
* one line
* clean up
one line
* Update messaging/socketmaster.cc
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* Update messaging/socketmaster.cc
* comment makes more sense
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>