Akka.Serialization.Compressed.Json
0.1.0
Prefix Reserved
See the version list below for details.
dotnet add package Akka.Serialization.Compressed.Json --version 0.1.0
NuGet\Install-Package Akka.Serialization.Compressed.Json -Version 0.1.0
<PackageReference Include="Akka.Serialization.Compressed.Json" Version="0.1.0" />
paket add Akka.Serialization.Compressed.Json --version 0.1.0
#r "nuget: Akka.Serialization.Compressed.Json, 0.1.0"
// Install Akka.Serialization.Compressed.Json as a Cake Addin #addin nuget:?package=Akka.Serialization.Compressed.Json&version=0.1.0 // Install Akka.Serialization.Compressed.Json as a Cake Tool #tool nuget:?package=Akka.Serialization.Compressed.Json&version=0.1.0
Akka.Serialization.Compressed.Json
This CompressedJsonSerializer
Akka.NET serializer is a compressed version of the built-in Akka.Serialization.NewtonSoftJsonSerializer
.
Configuration
Using Akka.Hosting
You can add this serializer by using the Akka.Hosting
extension method:
using var host = new HostBuilder()
.ConfigureServices((context, services) =>
{
services.AddAkka("compressed", (builder, provider) =>
{
builder.WithCompressedJsonSerializer();
});
}).Build();
await host.RunAsync();
Using HOCON Configuration
To use this serializer, add these settings to your HOCON configuration:
akka.actor {
serializers {
json-gzip = "Akka.Serialization.Compressed.Json.CompressedJsonSerializer, Akka.Serialization.Compressed.Json"
}
serialization-bindings {
"Akka.Serialization.Compressed.Json.IShouldCompress, Akka.Serialization.Compressed.Json" = json-gzip
}
}
Compressing Data Model
Using The Built-in Marker Interface
The Akka.Hosting
extension and HOCON configuration above binds the marker IShouldCompress
interface to the serializer. To start compressing your data model, make your classes inherit from this interface.
public sealed class MyDataModel: IShouldCompress
{
// ...
}
Binding Your Data Model Directly Using Akka.Hosting
To bind your your data model to the serializer using Akka.Hosting
, you can use the extension method below:
public static class DataClassOne
{ }
public static class DataClassTwo
{ }
using var host = new HostBuilder()
.ConfigureServices((context, services) =>
{
services.AddAkka("compressed", (builder, provider) =>
{
builder.WithCompressedJsonSerializer(
typeof(DataClassOne),
typeof(DataClassTwo);
});
}).Build();
await host.RunAsync();
Binding Your Data Model Directly Using HOCON Configuration
You can bind your classes to this serializer by registering them in the HOCON configuration:
akka.actor.serialization-bindings {
"MyAssembly.DataClassOne, MyAssembly" = json-gzip
"MyAssembly.DataClassTwo, MyAssembly" = json-gzip
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Akka (>= 1.4.48)
- Akka.Hosting (>= 1.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
• Initial release
Full changelog at https://github.com/akkadotnet/Akka.Serialization.Compressed/blob/refs/tags/0.1.0/RELEASE_NOTES.md