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

remove predefined serialization of internal types #1506

Open
milyin opened this issue Oct 3, 2024 · 1 comment
Open

remove predefined serialization of internal types #1506

milyin opened this issue Oct 3, 2024 · 1 comment
Labels
release Part of the next release

Comments

@milyin
Copy link
Contributor

milyin commented Oct 3, 2024

Describe the release item

New serialization API added in #1474 raised concerns about serialization of internal types, especiallly Encoding and Timestamp

This functionality was added mostly to support serialization of these types in pluings. But as @JEnoch noticed, the provided universal encoding serialization doesn't work well for storages - they need the most efficient way for storing the encoding, even using zenoh's internal representation. On the other hand we don't want to expose serialization of zenoh types which uses internal representation as it may cause future incompatibility

The proposal is:

  • remove implementaion of Serialize for Encoding and Timestamp from zenoh-ext
  • serialiaze Encoding in storage backends using internal feature, with full access to zenoh internal data
  • make sure that user also can still easily serialize/seserialize these types as a tuple
@milyin milyin added the release Part of the next release label Oct 3, 2024
@milyin
Copy link
Contributor Author

milyin commented Oct 3, 2024

@wyfo , @kydos your opinion?
This approach is sligtly disappointing for users: the storages will use more effective serialization then whcih is availablle through standard API. But this adantage comes with a price: the serialization used in storages is zenoh implementation dependent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Part of the next release
Projects
Status: No status
Development

No branches or pull requests

1 participant