WalFlow.Sinks.InMemory
0.1.0-alpha.alpha.20260708090623
dotnet add package WalFlow.Sinks.InMemory --version 0.1.0-alpha.alpha.20260708090623
NuGet\Install-Package WalFlow.Sinks.InMemory -Version 0.1.0-alpha.alpha.20260708090623
<PackageReference Include="WalFlow.Sinks.InMemory" Version="0.1.0-alpha.alpha.20260708090623" />
<PackageVersion Include="WalFlow.Sinks.InMemory" Version="0.1.0-alpha.alpha.20260708090623" />
<PackageReference Include="WalFlow.Sinks.InMemory" />
paket add WalFlow.Sinks.InMemory --version 0.1.0-alpha.alpha.20260708090623
#r "nuget: WalFlow.Sinks.InMemory, 0.1.0-alpha.alpha.20260708090623"
#:package WalFlow.Sinks.InMemory@0.1.0-alpha.alpha.20260708090623
#addin nuget:?package=WalFlow.Sinks.InMemory&version=0.1.0-alpha.alpha.20260708090623&prerelease
#tool nuget:?package=WalFlow.Sinks.InMemory&version=0.1.0-alpha.alpha.20260708090623&prerelease
WalFlow.Sinks.InMemory
In-memory sink for WalFlow CDC events.
This sink is designed for local development, integration tests, and custom in-process pipelines where you want to push CDC events into caller-owned .NET data structures.
Supported Targets
InMemorySink accepts a runtime target object and supports:
Channel<DebeziumPayload>/ChannelWriter<DebeziumPayload>Channel<InMemorySinkRecord>/ChannelWriter<InMemorySinkRecord>IProducerConsumerCollection<DebeziumPayload>IProducerConsumerCollection<InMemorySinkRecord>Queue<DebeziumPayload>/Queue<InMemorySinkRecord>ICollection<DebeziumPayload>/ICollection<InMemorySinkRecord>Action<DebeziumPayload>/Action<InMemorySinkRecord>
Unsupported target types throw NotSupportedException.
Metadata-aware vs payload-only targets
- Payload-only targets (
DebeziumPayload) receive only the CDC payload. - Metadata-aware targets (
InMemorySinkRecord) receive destination + partition tokens + payload.
For payload-only targets, destination/partition strategies other than Single are not supported. The sink logs warnings and falls back to Single.
Example
var channel = Channel.CreateUnbounded<InMemorySinkRecord>();
var sink = InMemorySink.CreateWithTarget(
Options.Create(new InMemorySinkOptions
{
DestinationRouting = new SinkDestinationOptions
{
Strategy = SinkDestinationStrategy.Table,
DestinationPrefix = "cdc-"
},
Partitioning = new SinkPartitioningOptions
{
Strategy = SinkPartitioningStrategy.Table
}
}),
logger,
channel);
Inline DI Registration
var channel = Channel.CreateUnbounded<InMemorySinkRecord>();
services.AddSingleton<ISink>(sp =>
{
var options = Options.Create(new InMemorySinkOptions());
return InMemorySink.CreateWithTarget(
options,
sp.GetRequiredService<ILogger<InMemorySink>>(),
channel);
});
| 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.9)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Logging (>= 10.0.9)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Options (>= 10.0.9)
- WalFlow.Abstractions (>= 0.1.0-alpha.alpha.20260708090623)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on WalFlow.Sinks.InMemory:
| Package | Downloads |
|---|---|
|
WalFlow
Meta-package that pulls in the full WalFlow CDC stack for consumers who want the default everything-included setup. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-alpha.alpha... | 100 | 7/8/2026 |
| 0.1.0-alpha.alpha... | 99 | 3/30/2026 |