You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This PR introduces a sv2-serde-json as a utility module. The goal is to eliminate the dependency on serde from the message generator, ultimately phasing out binary_sv2_serde. Currently, sv2_serde_json handles serialization and deserialization by converting data into a Value construct, which must then be mapped onto Rust's structs and enums.
By adopting this approach, we aim to remove all dependencies on serde, paving the way for the eventual deprecation of binary_sv2_serde entirely. Alternatively, if we decide not to proceed with this new utility, we will extend the existing binary_sv2 to support JSON serialization and deserialization directly.
This PR is marked as a draft while we finalize the chosen approach. In the meantime, this branch will be maintained for developing JSON features using the external utility, rather than extending binary_sv2.
What crates will depend on this new sv2_serde_json ? Because it brings many hard dep on std.
This change would only impact protocol/sv1 and the message generator within the test module. An alternative approach could involve extending binary_sv2 with JSON serializer and deserializer, but this would be gated under a feature flag. As a result, it wouldn’t compromise our no-std compliance for the protocol crates.
What crates will depend on this new sv2_serde_json ? Because it brings many hard dep on std.
This change would only impact protocol/sv1 and the message generator within the test module. An alternative approach could involve extending binary_sv2 with JSON serializer and deserializer, but this would be gated under a feature flag. As a result, it wouldn’t compromise our no-std compliance for the protocol crates.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces a sv2-serde-json as a utility module. The goal is to eliminate the dependency on
serde
from the message generator, ultimately phasing outbinary_sv2_serde
. Currently,sv2_serde_json
handles serialization and deserialization by converting data into aValue
construct, which must then be mapped onto Rust's structs and enums.By adopting this approach, we aim to remove all dependencies on
serde
, paving the way for the eventual deprecation ofbinary_sv2_serde
entirely. Alternatively, if we decide not to proceed with this new utility, we will extend the existingbinary_sv2
to support JSON serialization and deserialization directly.This PR is marked as a draft while we finalize the chosen approach. In the meantime, this branch will be maintained for developing JSON features using the external utility, rather than extending
binary_sv2
.