-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace rpclib with ZeroMQ #3
Comments
Definitely agreed on this and I will add it to the development goals on the site and in our Slack channel. Thanks for the recommendation! |
FlatBuffers -> Zero Copy, memory efficient RPC library. May be a serialization library to use with ZeroMQ |
Zeromq is a transport library, where rpclib is rpc that utilizes msgpack for serializing. It's very possible to send/receive rpclib events over ZMQ. This would likely be better than rebuilding the wheel to use flatbuffers over ZMQ. Also, flatbuffers doesn't include rpc. Flatbuffers can be used with gRPC, but gRPC uses HTTP/2. |
I have very little experience with airsim, but from what I'm seeing it's main bottle neck is related to the simulation itself rather than network overhead or serialization overhead from the API. I think the main benefit of using ZMQ for a project like this be it's ease in incorporating other languages and platforms, and if that's the goal I think keeping things simple would be a good approach. |
I had confused rpclib with msgpack-rpc. Turns out rpclib uses Boost.ASIO for networking. What would be nice an rpc API with pluggable transport. |
What feature are you suggesting?
Overview:
As mentioned in one of the issues in our simulator (FS-Driverless/Formula-Student-Driverless-Simulator#225), it could be nice to replace rpclib with ZeroMQ as this is more event driven. This reduces the latency of getting data from the simulator as you would have to poll for data otherwise.
Nature of Request:
Why would this feature be useful?
It would remove the need for polling, thus simplifying the ros bridges and python api.
The text was updated successfully, but these errors were encountered: