lthibault / quic-mangos

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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")

About

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

License:Apache License 2.0


Languages

Language:Go 100.0%