An open API service providing repository metadata for many open source software ecosystems.

Package Usage: go: github.com/getlantern/multipath

Package multipath provides a simple way to aggregate multiple network paths between a pair of hosts to form a single connection from the upper layer perspective, for throughput and resilience. The term connection, path and subflow used here are the same as mentioned in MP-TCP https://www.rfc-editor.org/rfc/rfc8684.html#name-terminology Each subflow is a bidirectional byte stream each side in the following form until being disrupted or the connection ends. When establishing the very first subflow, the client sends an all-zero connnection ID (CID) and the server sends the assigned CID back. Subsequent subflows use the same CID. There are two types of frames. Data frame carries application data while ack frame carries acknowledgement to the frame just received. When one data frame is not acked in time, it is sent over another subflow, until all available subflows have been tried. Payload size and frame number uses variable-length integer encoding as described here: https://tools.ietf.org/html/draft-ietf-quic-transport-29#section-16 Ack frames with frame number < 10 are reserved for control. For now only 0 and 1 are used, for ping and pong frame respectively. They are for updating RTT on inactive subflows and detecting recovered subflows. Ping frame: Pong frame:
3 versions
Latest release: about 2 years ago
12 dependent packages

View more package details: https://packages.ecosystem.code.gouv.fr/registries/proxy.golang.org/packages/github.com/getlantern/multipath

Dependent Repos 0