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

Support for custom serializers #172

Merged
merged 16 commits into from
May 30, 2022
Merged

Support for custom serializers #172

merged 16 commits into from
May 30, 2022

Conversation

Turnerj
Copy link
Member

@Turnerj Turnerj commented Jun 20, 2021

This should complete support for BYO cache serializers across the whole repo and extends the effort from #159.

  • JsonFileCacheLayer and ProtobufFileCacheLayer are both now obsolete and just pass through the appropriate serializer
  • FileCacheLayerBase is now FileCacheLayer and takes an ICacheSerializer in its constructor
  • RedisCacheLayer now uses CacheEntry<T> directly with the serializer
  • Serializer interface has changed so that streams are passed-in (allowing better flexibility)

Note: The JSON serializer no longer does wrapping of the serialized data. I'm not sure if that is a problem or not as I can't find exactly why I did it. I imagine it related to how null data was represented but not 100% sure. Will need further investigation.

Closes #158

Blocked by protobuf-net/protobuf-net#802

@Turnerj Turnerj added the enhancement New feature or request label Jun 20, 2021
@Turnerj
Copy link
Member Author

Turnerj commented Aug 7, 2021

This now "reverts" the revert from a5718c4 - this keeps all the serialization code in a single PR, allowing the master branch to continue doing any other fixes/releases.

See #174 for an example

@Turnerj Turnerj changed the title Completing support for custom serializers Support for custom serializers Aug 7, 2021
@Turnerj Turnerj force-pushed the full-custom-serialization branch from fd46d4c to c5f84cf Compare May 30, 2022 07:51
Turnerj added 15 commits May 30, 2022 18:25
We aren't reading the file here, only writing and never appending.
Must have missed it when copying code around in a previous commit
The caching system doesn't need them. This is a breaking change for any file caches that already existed.
This is to primarily satisfy Newtonsoft.Json serialization. In another PR, this will likely be replaced with a static method amongst other changes.
This is just a temporary measure for this PR
This is to hopefully support C# 10 features
@Turnerj Turnerj merged commit df96e2f into main May 30, 2022
@Turnerj Turnerj deleted the full-custom-serialization branch May 30, 2022 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Bring your own serializer
1 participant