* 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>
* duplicate bridge
* unbridge!
* some fixes
* combine bridge
* one if
* rm unbridge
* add --unbridge arg
* ip and unbridge arg parsing. segfaults if not given any ip value
* this is better than a python cli interface for now
* where did those tabs come from?
* bridge --unbridge is a little cumbersome to type...
...and only republish test messages
* more clear
* update
* only check --ip
* assume reverse if anything specified as ip
* refactor
* better ordering
* order imports
* use a whitelist
* combine into get_services
* add update_msgs
* works, need to find a way to pair socket to message without map
* works with strings
* save changes
* fix
* style
* remove fixMaybe
* style
* void update
* removing dynamic_struct
* comments
* dont need include anymore
* map -> vector<pair>
* move to update_msgs
* uint64
* change
* refrence
* whitepsace after if
* make sure specified port isn't reserved
* only sshd
* Add check to tests as well and test
* commonly define these safety check numbers in services and check in both places
* add function to generate new ports that aren't reserved
* port is guaranteed to not be a reserved port and above 8000 now
asserting the rate on runtime isn't necessary, just for testing
* create service_list dynamically
* redundant
* just add an offset equal to length of services dict
* fix test?
* only one reserved
* ignore the argument type error
* rm line
* Add back tests
* starts at 8001
* Added getters
* extra service to ack messages in process replay
* fix allAliveAndValid ignoring ignoreValid services
* check if readers are updated
* default message valid true