Loom-net 1.0.4

dotnet add package Loom-net --version 1.0.4
                    
NuGet\Install-Package Loom-net -Version 1.0.4
                    
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="Loom-net" Version="1.0.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Loom-net" Version="1.0.4" />
                    
Directory.Packages.props
<PackageReference Include="Loom-net" />
                    
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 Loom-net --version 1.0.4
                    
#r "nuget: Loom-net, 1.0.4"
                    
#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 Loom-net@1.0.4
                    
#: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=Loom-net&version=1.0.4
                    
Install as a Cake Addin
#tool nuget:?package=Loom-net&version=1.0.4
                    
Install as a Cake Tool

Loom-net

.NET client library for the Loom service.

  • Supports QUIC (System.Net.Quic) and HTTP/3 (HttpClient)
  • Implements Loom wire protocol v4
  • QUIC ALPN: loom/1

Install

  • Reference the project, or (if you publish it) dotnet add package Loom.Net

Quick start

Producer (QUIC)

using Loom.Net;

var producer = new LoomProducer(new LoomClientOptions(
    Address: "127.0.0.1:4242",
    Transport: LoomTransport.Quic,
    Tls: new LoomTlsOptions(InsecureSkipVerify: true),
    Name: "producer",
    Room: "default"
));

await producer.ConnectAsync();
await using var payload = File.OpenRead("payload.bin");
await producer.ProduceAsync(key: "my-key"u8.ToArray(), payload: payload, declaredSize: (ulong)payload.Length);

Consumer (QUIC)

using Loom.Net;

var consumer = new LoomConsumer(new LoomClientOptions(
    Address: "127.0.0.1:4242",
    Transport: LoomTransport.Quic,
    Tls: new LoomTlsOptions(InsecureSkipVerify: true),
    Name: "consumer",
    Room: "default"
));

await consumer.ConnectAsync();
await consumer.ConsumeLoopAsync(async (key, body, declaredSize, ct) =>
{
    using var ms = new MemoryStream();
    await body.CopyToAsync(ms, ct);
    Console.WriteLine($"key={System.Text.Encoding.UTF8.GetString(key)} bytes={ms.Length}");
}, ct: default);

Notes

  • AutoReconnect is enabled by default for both producer and consumer; pass AutoReconnect: false to disable.
  • ReconnectDelay (default 1s) and MaxReconnectAttempts (0 = forever) control reconnect behavior.
  • .NET QUIC client keepalive is runtime/version dependent; if you hit idle timeouts, enable keepalive on the Loom server (recommended).
  • For production, configure real TLS and set InsecureSkipVerify=false.
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.4 245 1/4/2026
1.0.3 116 1/3/2026
1.0.2 119 1/3/2026
1.0.1 125 1/3/2026