WalFlow.Stores.File 0.1.0-alpha.alpha.20260708090623

This is a prerelease version of WalFlow.Stores.File.
dotnet add package WalFlow.Stores.File --version 0.1.0-alpha.alpha.20260708090623
                    
NuGet\Install-Package WalFlow.Stores.File -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.Stores.File" 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.Stores.File" Version="0.1.0-alpha.alpha.20260708090623" />
                    
Directory.Packages.props
<PackageReference Include="WalFlow.Stores.File" />
                    
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.Stores.File --version 0.1.0-alpha.alpha.20260708090623
                    
#r "nuget: WalFlow.Stores.File, 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.Stores.File@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.Stores.File&version=0.1.0-alpha.alpha.20260708090623&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=WalFlow.Stores.File&version=0.1.0-alpha.alpha.20260708090623&prerelease
                    
Install as a Cake Tool

WalFlow.Stores.File

File-based persistence for WalFlow CDC processors.

Overview

Stores:

  • replication state (LSN position, snapshot progress, incremental cursors) as JSON files
  • schema history as JSON Lines for startup replay

Installation

dotnet add package WalFlow.Stores.File

Usage

services.AddSingleton<FileStore>(sp =>
{
    var logger = sp.GetRequiredService<ILogger<FileStore>>();
    return new FileStore("./state", logger);
});

services.AddSingleton<IReplicationStore>(sp => sp.GetRequiredService<FileStore>());
services.AddSingleton<ISchemaHistoryStore>(sp => sp.GetRequiredService<FileStore>());

Storage Format

State is saved as {slotName}.json:

{
  "SlotName": "cdc_slot",
  "LastProcessedLsn": 123456789,
  "LastUpdated": "2025-01-01T12:00:00Z",
  "MessagesProcessed": 50000,
  "SnapshotCompleted": true,
  "CompletedSnapshotTables": ["public.users", "public.orders"],
  "Snapshot": {
    "ExportedSnapshotName": null,
    "ConsistentPointLsn": 123456000,
    "InProgress": false
  },
  "IncrementalPkCursor": {
    "public.users": ["1000"],
    "public.orders": ["5000", "2025-01-01"]
  }
}

Features

  • JSON Format - Human-readable state files
  • Automatic Directory Creation - Creates state directory if needed
  • Incremental Snapshot Support - Tracks per-table cursors
  • Backward Compatibility - Handles missing cursor fields

License

MIT

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.Stores.File:

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... 80 7/8/2026
0.1.0-alpha.alpha... 87 3/30/2026