Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/romain-jacotin/quic

QUIC Protocol in Go language
https://github.com/romain-jacotin/quic

Last synced: 20 days ago
JSON representation

QUIC Protocol in Go language

Lists

README

        

[![GoDoc](https://godoc.org/github.com/romain-jacotin/quic?status.svg)](https://godoc.org/github.com/romain-jacotin/quic)

# QUIC Protocol in Go language

Work in progress on the High-Level API definition for QUIC programs in Golang.

**For official Google information about QUIC protocol, please consult the following website:**

* Official QUIC information at chromium.org :
* [https://www.chromium.org/quic](https://www.chromium.org/quic)
* Chromium QUIC source code:
* [https://code.google.com/p/chromium/codesearch#chromium/src/net/quic/](https://code.google.com/p/chromium/codesearch#chromium/src/net/quic/)
* QUIC Forum:
* [https://groups.google.com/a/chromium.org/forum/#!forum/proto-quic](https://groups.google.com/a/chromium.org/forum/#!forum/proto-quic)

----------------------

## Table of contents:

* [Introduction](#introduction)
* [QUIC Session management](#quicsessionmngt)
* [Initialization](#sessioninitialization)
* [Client side](#clientside)
* [Server side](#serverside)
* [Termination](#sessiontermination)
* [Close](#sessionclose)
* [GoAway](#sessiongoaway)
* [Reset](#sessionreset)
* [Keep Alive](#sessionkeepalive)
* [Timeout](#sessiontimeout)
* [Ping](#sessionping)
* [Pacing](#pacing)
* [Auto-pacing](#autopacing)
* [Minimum pacing](#minimumpacing)
* [Stream management](#streammngt)
* [Creation](#streamcreation)
* [Read](#streamread)
* [Write](#streamwrite)
* [Write (standard)](#standardwrite)
* [Write with FEC](#fecwrite)
* [Write with Duplicate QUIC packets](*duplicatewrite)
* [Close (half)](#streamclose)
* [Reset](#streamreset)
* [ANNEX A: Extracts from RFC793 - TCP](./doc/TCP.md)
* [ANNEX B: Extracts from RFC5681 _ TCP Congestion Control](./doc/TCPCongestionControl.md)
* [ANNEX C: Extracts from RFC6298 - Computing TCP's Retransmission Timer](./doc/TCPRetransmissionTimer.md)
* [ANNEX D: Extracts from draft-rhee-tcpm-cubic-02 - CUBIC Congestion Control for Fast Long-Distance Networks](./doc/CUBIC.md)
* [ANNEX E: Extracts from RFC6937 - Proportional Rate Reduction for TCP](./doc/TCPProportionalRateReduction.md)

## Introduction

## QUIC Session management

TBD

### Initialization

TBD

#### Client side

TBD

#### Server side

TBD

### Termination

TBD

#### Close

TBD

#### GoAway

TBD

#### Reset

TBD

## Pacing

TBD

### Auto-pacing

TBD

### Minimum pacing

TBD

### Keep Alive

TBD

#### Timeout

TBD

#### Ping

TBD

## Stream management

TBD

### Creation

TBD

### Read

TBD

### Write

TBD

#### Write (standard)

TBD

#### Write with Forward Error Correction

TBD

#### Write with Duplicate QUIC packets

TBD

### Close (half)

TBD

### Reset

TBD

### Priority

TBD