* Move around
* rename messaging to ipc
* More renames
* refactor visionipc ipc
* more movement
* compiles
* works well
* update workflow
* Update
* test fake
* fix names
* Fix test
* exclude library
* exclude from lint too
* Rm dir
* rm this wayu
* Try again
* mv logger
* delete old
* HAX
* Move logger down
* add warning abck
* Get tests running again
* rn
* I don't understand what any of this means
* More updates
* Try fixing test_fake
* test fake passes
* All python tests pass
* Dont want those here
* Move visionipc
* doesnt make sense for now
* Compiles
* Move rest over
* Somewhat works
* Add .sp
* Delete messaging/messaging_pyx.so
* Delete messaging/messaging_pyx.cpp
* ignore this too
* Not needed
* Add pyproj
* Fix zmq port
* Custom events reserved for forks
* Fixes
* Custom updates
* Update README.md
* little more
* add identifiers
* Language
* little more
* rm that
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* 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
* add visionbuf
make static
ignore that
* Needs decleration
* add test binary
* c++
* create some structure
* some impl
* socket stuff
* Accept socket connection
* Alloc some buffers
* Create pub sockets and send buffer id
* make listener private
* Implement receive
* use error check macros in cl_helpers
* constructors to pass in opencl context
* add some convenience values in struct
* refactor creating buffers
* rgb is not so simple
* add fake stride and expose buffers
* add comment
* add extra data struct
* support conflate
* init opencl on all buffers
* make ion compile
* fix qcom2
* correctly setup yuv pointers when importing buffer
* also included from c
* Remove send print statements
* send metadata
* reveive metadata
* also used in c code
* dont start listener automatically
* Was started in 2 places
* set 100ms timeout on socket
* verify server id to detect reconnects
* handle reconnect
* buffer cleanup
* let user handle opencl creation
* add default values
* Add support for aligned rgb buffers
* add align macro
* dont use namespace
* use poller
* apple ifdef in ipc.cc
* VisionBuf is C++ class
* Install opencl headers
* cppcheck c++
* remove c header guard
* fix mac build
* simplify constructors
* Update visionipc/visionipc.h
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* Update visionipc/visionbuf_ion.cc
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* add brackets
* s/VIPCBufExtra/VisionIpcBufExtra/g
* Add unittesting harness
* remove vipc demo
* very basic tests
* add conflate test
* Install opencl
* suppress msgq warnings
* Make it work using zmq
* cl in qcom replay
* run unittests in zmq mode as well
* non blocking connect
* always larger frame queues
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* improve building
* numpy will probably not be needed
* remove unnedded lines
* guessing what static analysis wants to pass
* fix the test by removing it
* Update __init__.py
* Update SConstruct
* Update SConscript
* style
* pre commit
* cleanup
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* add class SubMaster&PubMaster
* add socketmaster.cc
* move to cereal_objects
* modify SubMaster
* modify SubMaster
* Code streamlining
* m createSocket
remove dup SubMessage
* Streamline code
Streamline code
Streamline code
alive if delay with LogMonoTime x
reduce code lines
add underscore to class variable,dont check getValid() in poll
add static function get_service(), assert if pub name is not in service list
remove paramater alive from recieve()
rename services to endpoints
is alive is freq_ <= (1e-5)
referer
use sockets_.find() in pushMaster::send to avoid create an empty entry
submaster only do poller, rm PubMaster,add PubMessage
add MessageContext
make SubMaster api same as python version
add class PubMessage
add empty line
fix type
fix typo
remove service_list_
Streamline code
use cached heaparry to build&send msg
reduce lines
rename sockets_ to messages_
initialize member variable in class
don't use std::find
fix typo
* use global context,remove class PubMessage
remove SubMessage interface from header,add operator[]
undo format source
add new line at end of file
add missing header fiel
reve std::find
add empty line
better drain