cereal/messaging
Kacper Rączy 4e063ca166
FakeSubSocket and FakePubSocket for IPC synchronization (#439)
* 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
2023-05-23 19:38:52 +02:00
..
tests FakeSubSocket and FakePubSocket for IPC synchronization (#439) 2023-05-23 19:38:52 +02:00
.gitignore Run scons in CI (#14) 2019-11-20 16:32:42 -08:00
__init__.py FakeSubSocket and FakePubSocket for IPC synchronization (#439) 2023-05-23 19:38:52 +02:00
bridge.cc add cpplint (#401) 2022-12-31 16:33:09 -08:00
demo.cc include from project root (#402) 2022-12-31 14:19:29 -08:00
demo.py fix flake8 complaint about too many blank lines 2020-05-31 17:18:57 -07:00
event.cc FakeSubSocket and FakePubSocket for IPC synchronization (#439) 2023-05-23 19:38:52 +02:00
event.h FakeSubSocket and FakePubSocket for IPC synchronization (#439) 2023-05-23 19:38:52 +02:00
impl_fake.cc FakeSubSocket and FakePubSocket for IPC synchronization (#439) 2023-05-23 19:38:52 +02:00
impl_fake.h FakeSubSocket and FakePubSocket for IPC synchronization (#439) 2023-05-23 19:38:52 +02:00
impl_msgq.cc include from project root (#402) 2022-12-31 14:19:29 -08:00
impl_msgq.h add cpplint (#401) 2022-12-31 16:33:09 -08:00
impl_zmq.cc add cpplint (#401) 2022-12-31 16:33:09 -08:00
impl_zmq.h add cpplint (#401) 2022-12-31 16:33:09 -08:00
messaging.cc FakeSubSocket and FakePubSocket for IPC synchronization (#439) 2023-05-23 19:38:52 +02:00
messaging.h add cpplint (#401) 2022-12-31 16:33:09 -08:00
messaging.pxd FakeSubSocket and FakePubSocket for IPC synchronization (#439) 2023-05-23 19:38:52 +02:00
messaging_pyx.pyx FakeSubSocket and FakePubSocket for IPC synchronization (#439) 2023-05-23 19:38:52 +02:00
msgq.cc add cpplint (#401) 2022-12-31 16:33:09 -08:00
msgq.h add cpplint (#401) 2022-12-31 16:33:09 -08:00
msgq.md remove azure build status from msgq doc 2021-01-06 15:21:16 -08:00
msgq_tests.cc add cpplint (#401) 2022-12-31 16:33:09 -08:00
socketmaster.cc add cpplint (#401) 2022-12-31 16:33:09 -08:00
stress.py msgq: make sure read_fifos is initalized so we dont close random fds 2019-11-15 16:04:27 -08:00
test_runner.cc add msgq tests 2019-11-19 14:16:31 -08:00