quic

package module
v0.0.0-...-e976a39 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 5, 2018 License: Apache-2.0 Imports: 20 Imported by: 1

README

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

Documentation

Index

Constants

View Source
const (
	// OptionTLSConfig maps to a *tls.Config value
	OptionTLSConfig = "QUIC-TLS-CONFIG"
	// OptionQUICConfig maps to a *quic.Config value
	OptionQUICConfig = "QUIC-UDP-CONFIG"
)

Variables

This section is empty.

Functions

func NewTransport

func NewTransport() mangos.Transport

NewTransport allocates a new quic:// transport.

Types

This section is empty.

Directories

Path Synopsis
example

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL