golang.org/x/net@v0.25.1-0.20240516223405-c87a5b62e243/quic/doc.go (about) 1 // Copyright 2023 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // Package quic implements the QUIC protocol. 6 // 7 // This package is a work in progress. 8 // It is not ready for production usage. 9 // Its API is subject to change without notice. 10 // 11 // This package is low-level. 12 // Most users will use it indirectly through an HTTP/3 implementation. 13 // 14 // # Usage 15 // 16 // An [Endpoint] sends and receives traffic on a network address. 17 // Create an Endpoint to either accept inbound QUIC connections 18 // or create outbound ones. 19 // 20 // A [Conn] is a QUIC connection. 21 // 22 // A [Stream] is a QUIC stream, an ordered, reliable byte stream. 23 // 24 // # Cancelation 25 // 26 // All blocking operations may be canceled using a context.Context. 27 // When performing an operation with a canceled context, the operation 28 // will succeed if doing so does not require blocking. For example, 29 // reading from a stream will return data when buffered data is available, 30 // even if the stream context is canceled. 31 // 32 // # Limitations 33 // 34 // This package is a work in progress. 35 // Known limitations include: 36 // 37 // - Performance is untuned. 38 // - 0-RTT is not supported. 39 // - Address migration is not supported. 40 // - Server preferred addresses are not supported. 41 // - The latency spin bit is not supported. 42 // - Stream send/receive windows are configurable, 43 // but are fixed and do not adapt to available throughput. 44 // - Path MTU discovery is not implemented. 45 package quic