WalFlow.Sinks.InMemory 0.1.0-alpha.alpha.20260708090623

This is a prerelease version of WalFlow.Sinks.InMemory.
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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WalFlow.Sinks.InMemory" Version="0.1.0-alpha.alpha.20260708090623" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WalFlow.Sinks.InMemory" Version="0.1.0-alpha.alpha.20260708090623" />
                    
Directory.Packages.props
<PackageReference Include="WalFlow.Sinks.InMemory" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add WalFlow.Sinks.InMemory --version 0.1.0-alpha.alpha.20260708090623
                    
#r "nuget: WalFlow.Sinks.InMemory, 0.1.0-alpha.alpha.20260708090623"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package WalFlow.Sinks.InMemory@0.1.0-alpha.alpha.20260708090623
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=WalFlow.Sinks.InMemory&version=0.1.0-alpha.alpha.20260708090623&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=WalFlow.Sinks.InMemory&version=0.1.0-alpha.alpha.20260708090623&prerelease
                    
Install as a Cake Tool

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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