Shuttle.Core.Compression
21.0.0-alpha
Prefix Reserved
dotnet add package Shuttle.Core.Compression --version 21.0.0-alpha
NuGet\Install-Package Shuttle.Core.Compression -Version 21.0.0-alpha
<PackageReference Include="Shuttle.Core.Compression" Version="21.0.0-alpha" />
<PackageVersion Include="Shuttle.Core.Compression" Version="21.0.0-alpha" />
<PackageReference Include="Shuttle.Core.Compression" />
paket add Shuttle.Core.Compression --version 21.0.0-alpha
#r "nuget: Shuttle.Core.Compression, 21.0.0-alpha"
#:package Shuttle.Core.Compression@21.0.0-alpha
#addin nuget:?package=Shuttle.Core.Compression&version=21.0.0-alpha&prerelease
#tool nuget:?package=Shuttle.Core.Compression&version=21.0.0-alpha&prerelease
Shuttle.Core.Compression
Provides a compression adapter through the ICompressionAlgorithm interface.
Implementations available in this package:
DeflateCompressionAlgorithmGZipCompressionAlgorithmNullCompressionAlgorithm
There is also an ICompressionService that acts as a central container for all registered ICompressionAlgorithm implementations.
Configuration
In order to add compression:
services.AddCompression();
This will try to add the CompressionService singleton.
In order to add specific compression algorithms use the relevant builder calls:
services.AddCompression(builder => {
builder.AddGzip();
builder.AddDeflate();
builder.AddNull();
});
Usage
The ICompressionService can be injected into any class that requires compression services:
var algorithm = compressionService.Get("algorithm-name");
var compressed = await algorithm.CompressAsync(Encoding.UTF8.GetBytes("some data"));
var decompressed = await algorithm.DecompressAsync(compressed);
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.DependencyInjection (>= 10.0.1)
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)
- Shuttle.Core.Contract (>= 21.0.0-alpha)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Shuttle.Core.Compression:
| Package | Downloads |
|---|---|
|
Shuttle.Esb
Contains the core Shuttle.Esb assembly that should always be referenced when building Shuttle.Esb solutions. |
|
|
Shuttle.Recall
Event sourcing mechanism. |
|
|
Shuttle.Hopper
Hopper is a flexible enterprise service bus which works with Azure Storage Queues, Amazon SQS, RabbitMQ, Kafka, and Event Hubs through a provider plugin API. |
GitHub repositories
This package is not used by any popular GitHub repositories.