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

Feature/serialization #22

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

ilnarag
Copy link

@ilnarag ilnarag commented May 14, 2021

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.

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

Successfully merging this pull request may close these issues.

2 participants