package webtransport

Import Path
	github.com/quic-go/webtransport-go (on go.dev)

Dependency Relation
	imports 16 packages, and imported by one package


Package-Level Type Names (total 10)
/* sort by: | */
DialAddr is the function used to dial the underlying QUIC connection. If unset, quic.DialAddrEarly will be used. QUICConfig is the QUIC config used when dialing the QUIC connection. StreamReorderingTime is the time an incoming WebTransport stream that cannot be associated with a session is buffered. This can happen if the response to a CONNECT request (that creates a new session) is reordered, and arrives after the first WebTransport stream(s) for that session. Defaults to 5 seconds. TLSClientConfig is the TLS client config used when dialing the QUIC connection. It must set the h3 ALPN. (*Dialer) Close() error (*Dialer) Dial(ctx context.Context, urlStr string, reqHdr http.Header) (*http.Response, *Session, error) *Dialer : github.com/prometheus/common/expfmt.Closer *Dialer : io.Closer
( ReceiveStream) CancelRead(StreamErrorCode) ( ReceiveStream) Read(p []byte) (n int, err error) ( ReceiveStream) SetReadDeadline(time.Time) error ( ReceiveStream) StreamID() quic.StreamID Stream (interface) ReceiveStream : github.com/pion/datachannel.ReadDeadliner ReceiveStream : io.Reader func (*Session).AcceptUniStream(ctx context.Context) (ReceiveStream, error)
( SendStream) CancelWrite(StreamErrorCode) ( SendStream) Close() error ( SendStream) SetWriteDeadline(time.Time) error ( SendStream) StreamID() quic.StreamID ( SendStream) Write([]byte) (int, error) Stream (interface) SendStream : github.com/miekg/dns.Writer SendStream : github.com/pion/datachannel.WriteDeadliner SendStream : github.com/prometheus/common/expfmt.Closer SendStream : internal/bisect.Writer SendStream : io.Closer SendStream : io.WriteCloser SendStream : io.Writer func (*Session).OpenUniStream() (SendStream, error) func (*Session).OpenUniStreamSync(ctx context.Context) (str SendStream, err error)
CheckOrigin is used to validate the request origin, thereby preventing cross-site request forgery. CheckOrigin returns true if the request Origin header is acceptable. If unset, a safe default is used: If the Origin header is set, it is checked that it matches the request's Host header. H3 http3.Server ReorderingTimeout is the maximum time an incoming WebTransport stream that cannot be associated with a session is buffered. It is also the maximum time a WebTransport connection request is blocked waiting for the client's SETTINGS are received. This can happen if the CONNECT request (that creates a new session) is reordered, and arrives after the first WebTransport stream(s) for that session. Defaults to 5 seconds. (*Server) Close() error (*Server) ListenAndServe() error (*Server) ListenAndServeTLS(certFile, keyFile string) error (*Server) Serve(conn net.PacketConn) error ServeQUICConn serves a single QUIC connection. (*Server) Upgrade(w http.ResponseWriter, r *http.Request) (*Session, error) *Server : github.com/prometheus/common/expfmt.Closer *Server : io.Closer
(*Session) AcceptStream(ctx context.Context) (Stream, error) (*Session) AcceptUniStream(ctx context.Context) (ReceiveStream, error) (*Session) CloseWithError(code SessionErrorCode, msg string) error (*Session) ConnectionState() quic.ConnectionState Context returns a context that is closed when the session is closed. (*Session) LocalAddr() net.Addr (*Session) OpenStream() (Stream, error) (*Session) OpenStreamSync(ctx context.Context) (Stream, error) (*Session) OpenUniStream() (SendStream, error) (*Session) OpenUniStreamSync(ctx context.Context) (str SendStream, err error) (*Session) ReceiveDatagram(ctx context.Context) ([]byte, error) (*Session) RemoteAddr() net.Addr (*Session) SendDatagram(b []byte) error func (*Dialer).Dial(ctx context.Context, urlStr string, reqHdr http.Header) (*http.Response, *Session, error) func (*Server).Upgrade(w http.ResponseWriter, r *http.Request) (*Session, error)
SessionError is a WebTransport connection error. ErrorCode SessionErrorCode Message string Remote bool (*SessionError) Error() string *SessionError : error
SessionErrorCode is an error code for session termination. func (*Session).CloseWithError(code SessionErrorCode, msg string) error
( Stream) CancelRead(StreamErrorCode) ( Stream) CancelWrite(StreamErrorCode) ( Stream) Close() error ( Stream) Read(p []byte) (n int, err error) ( Stream) SetDeadline(time.Time) error ( Stream) SetReadDeadline(time.Time) error ( Stream) SetWriteDeadline(time.Time) error ( Stream) StreamID() quic.StreamID ( Stream) Write([]byte) (int, error) Stream : ReceiveStream Stream : SendStream Stream : github.com/miekg/dns.Writer Stream : github.com/pion/datachannel.ReadDeadliner Stream : github.com/pion/datachannel.WriteDeadliner Stream : github.com/pion/stun.Connection Stream : github.com/pion/stun/v3.Connection Stream : github.com/prometheus/common/expfmt.Closer Stream : internal/bisect.Writer Stream : io.Closer Stream : io.ReadCloser Stream : io.Reader Stream : io.ReadWriteCloser Stream : io.ReadWriter Stream : io.WriteCloser Stream : io.Writer func (*Session).AcceptStream(ctx context.Context) (Stream, error) func (*Session).OpenStream() (Stream, error) func (*Session).OpenStreamSync(ctx context.Context) (Stream, error)
StreamError is the error that is returned from stream operations (Read, Write) when the stream is canceled. ErrorCode StreamErrorCode Remote bool (*StreamError) Error() string (*StreamError) Is(target error) bool *StreamError : error
StreamErrorCode is an error code used for stream termination. func ReceiveStream.CancelRead(StreamErrorCode) func SendStream.CancelWrite(StreamErrorCode) func Stream.CancelRead(StreamErrorCode) func Stream.CancelWrite(StreamErrorCode)
Package-Level Constants (only one)
WebTransportBufferedStreamRejectedErrorCode is the error code of the H3_WEBTRANSPORT_BUFFERED_STREAM_REJECTED error.