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.
What is this PR?
Added ability to serialize/deserialize the data structures (currently only Count-Min-Sketch is supported).
This pull request should lay the foundation for supporting other data structures in this repository.
Link to the issue: #2
How it works?
I created a separate assembly for serialization/deserialization purposes, so this feature can be treated as an optional add-on.
In assembly we can find 3 main folders:
XML
JSON
Binary
In each folder there is a converter or serialization surrogate which handles the serialization and deserialization.
Extension methods for serialization and deserialization were created, all follow the same naming convention: "ToXXX/FromXXX",
for example: "ToBinary/FromBinary".
Things to know
All binary and XML serialization surrogates need to be marked with the attributes: BinarySerializationSurrogateAttribute and XMLSerializationSurrogateAttribute accordingly. This is required for finding the correct surrogate for the requested type prior to serialization and deserialization.