Skip to content

gobixm/wal-net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

build and test

Simpe Write Ahead Log implementation.

Usage example

using System.Text;
using Wal.Net.Ios;
using Wal.Net.Records;

const long maxRecordSize = 1_000_000;
using var stream = new MemoryStream();

// Create writer on stream.
var writer = new WalWriter(stream, new WalOptions(maxRecordSize));

// Create write record.
await writer.WriteAsync(WalRecord.Create(42, "Wal.Net"u8.ToArray()));

// We'll use same stream for reading.
stream.Position = 0;

// Create reader on stream.
var reader = new WalReader(stream, new WalOptions(maxRecordSize));

// Read all records as IAsyncEnumerable.
var record = (await reader.ReadAllAsync().ToListAsync()).Single();

Console.WriteLine($"{record}, {Encoding.UTF8.GetString(record.Body.Span)}");

About

simple Write Ahead Log implementation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages