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" />
<PackageReference Include="Loom-net" />
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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#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
#tool nuget:?package=Loom-net&version=1.0.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
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: falseto disable. ReconnectDelay(default 1s) andMaxReconnectAttempts(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 | Versions 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.