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

new serialization API #1474

Closed
23 tasks done
milyin opened this issue Sep 26, 2024 · 1 comment
Closed
23 tasks done

new serialization API #1474

milyin opened this issue Sep 26, 2024 · 1 comment
Labels
api fix Correct API api sync Synchronize API with other bindings enhancement Existing things could work better release Part of the next release umbrella The task which covers multiple other tasks

Comments

@milyin
Copy link
Contributor

milyin commented Sep 26, 2024

Describe the release item

There are few problems with current serialization API / format:

  • lack of performance on serializing/deserializing arrays of primitive types
  • very tight relation between serializer and ZBytes type. It was supposed that serializer should be replaceable, but actually current serializer is nailed to ZBytes and we would have been obliged to support it forever, even knowing that it's suboptimal
  • asymmetry: automatic serialization on write but explicit deserialization call on read

The new serialization API solves this:

  • it supports writing sequences of elements without prefixing each element with it's size, significantly improving performance
  • it is palced to zenoh-ext and explicitly calls ZBytes's writer/reader, without integration to ZBytes
  • there is a pair of functions z_seialize / z_deserialize called explicitly

Here are tasks/PRs related to new API

@milyin milyin added release Part of the next release enhancement Existing things could work better api sync Synchronize API with other bindings umbrella The task which covers multiple other tasks api fix Correct API labels Sep 26, 2024
@Charles-Schleich
Copy link
Member

Charles-Schleich commented Sep 30, 2024

@milyin :
DDS PR: eclipse-zenoh/zenoh-plugin-dds#351
MQTT: eclipse-zenoh/zenoh-plugin-mqtt#232
Ros2DDS PR : eclipse-zenoh/zenoh-plugin-ros2dds#279

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api fix Correct API api sync Synchronize API with other bindings enhancement Existing things could work better release Part of the next release umbrella The task which covers multiple other tasks
Projects
Status: Done
Development

No branches or pull requests

2 participants