Skip to content

A QUIC transport for mangos (scalability protocols) written in pure Go

License

Notifications You must be signed in to change notification settings

lthibault/quic-mangos

Repository files navigation

QUIC-mangos

A QUIC transport for mangos written in pure Go

Godoc Reference Go Report Card

Motivation

QUIC-mangos brings the low latency and multiplexed streaming of the QUIC protocol to mangos.

URL paths passed to sock.Listen and sock.Dial are mapped to a separate QUIC stream, allowing several mangos.Sockets to share a single port mapping.

Moreover, QUIC is designed with the modern web in mind and performs significantly better than TCP over lossy connections. It also features mandatory TLS encryption, which is configruable via socket options.

Usage

QUIC-mangos can be installed via the standard go toolchain:

go get -u github.com/lthibault/quic-mangos

The QUIC transport adheres to the public API for mangos transports.

import (
    // ...
    "github.com/lthibault/quic-mangos"
)

// set up a mangos.Socket the usual way

sock.AddTransport(quic.NewTransport())

_ = sock.Listen("quic://127.0.0.1:9001/foo/bar")

Releases

No releases published

Packages

No packages published

Languages