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

BSON mode for bidirectional communication #253

Closed
Sanic opened this issue Jan 18, 2017 · 1 comment
Closed

BSON mode for bidirectional communication #253

Sanic opened this issue Jan 18, 2017 · 1 comment

Comments

@Sanic
Copy link
Contributor

Sanic commented Jan 18, 2017

After reading #169 and a couple of related Issues, i saw that there is already some progress on using BSON for large amounts of (binary) data. However, if i understand this correctly, you can only use BSON for binary data flowing from ROS to the rosbridge Client.
In my usecase, i need to transfer large amounts of binary data from the rosbridge client to the ROS infrastructure. Additionally, i would like to send data from the rosbridge client side without encoding it in base64, which leads to an overhead in terms of computational power and transmission bandwidth.

Is it possible to add a bson-only-mode to the server that replaces all JSON encoding/decoding with BSON without rewriting large amounts of the core?
By doing that, we could still use JSON for legacy or "non-binary" applications, where as BSON can be used for scenarios where large amounts of binary data needs to be transferred.
When switch the server to a bson-only-mode, we also don't have to incorporate any changes to the ROSBridge protocol itself as far as i can tell (with my limited knowledge of the server internals).

/edit: Using BSON might also improve the stable receipt of messages, because it's prefixed with the total message length in bytes and terminates by a fixed 0x0 at the end. This might lead to an improvement for discussions like in #140 or RobotWebTools/roslibjs#126

@Sanic
Copy link
Contributor Author

Sanic commented Apr 24, 2018

This issue can be closed now, due to #257
There is also a PR for BSON in Websockets #327 , which would cover the most use cases.

@Sanic Sanic closed this as completed Apr 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant