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

Consider a better serialization format #26

Open
elliottwilliams opened this issue Aug 30, 2016 · 5 comments
Open

Consider a better serialization format #26

elliottwilliams opened this issue Aug 30, 2016 · 5 comments
Milestone

Comments

@elliottwilliams
Copy link
Member

msgpack is a standard serialization format as of WAMPv2, and it's designed to be a drop-in replacement for serializing JSON-like data. I tried it with a Route and it was able to reduce the size by ~50%, so I think it would provide some nontrivial network savings. This is more of an upstream issue with ruby_wamp_client since it only has a JSON serializer, but I wanted to make a note of it here.

@faultyserver
Copy link
Member

I'm definitely on board to do this, and I'll probably even write the PR for adding it to ruby_wamp_client (it's ~15 lines), but to do this properly, we should take some time to make a concrete reference for the structure of objects and their type definitions for msgpack (rather than just proxying through Hashes). We need to do this anyway, and it might as well happen at the same time as implementing msgpack.

@elliottwilliams
Copy link
Member Author

Awesome. From what I can tell, isn't msgpack designed to accept hashes? If we wanted to do something more substantial, I could see looking into protobuf, which might increase savings but would also involve changes on the client side. (right now, Proper should automatically use msgpack once the sender supports it)

@faultyserver
Copy link
Member

Is this something that we should consider doing for 1.0? I don't think it would take too much effort, but I'm honestly not sure at this point.

@elliottwilliams
Copy link
Member Author

It's low priority to me. We need a useful application to have any need for data transmission in the first place :)

@faultyserver faultyserver added this to the v1.1 milestone Sep 25, 2016
@faultyserver
Copy link
Member

As a note while this is being considered, propershark/timetable_cpp and Providence (when it gets written) will both have native support for using MsgPack instead of straight JSON, so compatibility with other system components shouldn't be an issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants