The SnowBank libraries
The SnowBank.* libraries are general-purpose .NET libraries with no dependency on FoundationDB. The FoundationDB client and the rest of the SDK build on them, and each library also works on its own.
This is the SnowBank part of the SnowBank SDK. If you came for the FoundationDB database client, see FoundationDB for .NET.
What is included
Documented here:
- Slices and buffers:
Slice, a read-only view over bytes, withSliceReaderandSliceWriter, pooled buffers, and the integer encodings. The byte-level toolkit under the rest. - Tuples:
TuPackandIVarTuple, the tuple encoding that turns typed values into bytes whose order matches the values. FoundationDB keys use it; it stands alone. - JSON: CrystalJson, an in-memory JSON model (
JsonValue) with a source generator for reflection-free serializers. - XML: CrystalXml, compile-time XML output for CrystalJson types, byte-compatible with
DataContractSerializer.
Shipped, not yet documented here:
SnowBank.Shell: a command shell and prompt engine.SnowBank.Networking.Http: an HTTP client stack with retry and instrumentation.SnowBank.Serialization.Json.CodeGen: the Roslyn source generator behind CrystalJson's generated converters.SnowBank.Testing: a distributed-test framework.
Every library ships from the same repository as the FoundationDB client, under the SnowBank namespace root.