Glyph3 0.12.0

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

Glyph3 .NET

HTTP/3 without the QUIC: frame parsing, QPACK and request dispatch in pure managed C#, with no native dependencies. Glyph3 does no I/O of its own: you hand it the bytes that arrived on a stream and it hands back the bytes to send, so the transport underneath can be System.Net.Quic, io_uring, or a pair of in-memory queues in a test.

// Two methods is the whole transport contract; the rest have defaults.
sealed class MyTransport : IHttp3Transport
{
    public long OpenUniStream() => /* your QUIC connection */;
    public void Send(long streamId, ReadOnlySpan<byte> data, bool fin) => /* ... */;
}

var h3 = new Http3Connection(new MyTransport(), request =>
    request.Path.Span.SequenceEqual("/"u8)
        ? Http3Response.Text("hello\n")
        : Http3Response.Text("not found\n", status: 404));

h3.Start();                      // control stream + SETTINGS

h3.Feed(streamId, bytes, fin);   // whatever arrived, as many times as you like
h3.Flush();                      // dispatch whatever became complete

A working HTTP/3 server over System.Net.Quic is in Playground/Glyph3.Playground.MsQuic:

dotnet run -c Release --project Playground/Glyph3.Playground.MsQuic
curl --http3 -k https://127.0.0.1:8443/
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 is compatible.  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 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.
  • net10.0

    • No dependencies.
  • net8.0

    • No dependencies.
  • net9.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
0.12.0 58 8/14/2026
0.11.652 66 8/12/2026
0.3.0 58 8/12/2026
0.2.0 44 8/12/2026
0.1.0 56 8/12/2026