Skip to content
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

Open
wouter-heerwegh opened this issue Aug 15, 2022 · 5 comments
Open

Replace rpclib with ZeroMQ #3

wouter-heerwegh opened this issue Aug 15, 2022 · 5 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@wouter-heerwegh
Copy link

wouter-heerwegh commented Aug 15, 2022

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:

  • Change

Why would this feature be useful?

It would remove the need for polling, thus simplifying the ros bridges and python api.

@xxEoD2242
Copy link

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!

@xxEoD2242
Copy link

FlatBuffers -> Zero Copy, memory efficient RPC library. May be a serialization library to use with ZeroMQ

@ClosetGeek-Git
Copy link

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.

@ClosetGeek-Git
Copy link

ClosetGeek-Git commented Sep 26, 2022

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.

@ClosetGeek-Git
Copy link

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.

@xxEoD2242 xxEoD2242 added enhancement New feature or request help wanted Extra attention is needed labels Aug 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants