Documentation ¶
Index ¶
- func DialAddrContext(ctx context.Context, network string, laddr *net.UDPAddr, raddr string, ...) (net.Conn, error)
- func InheritedListen(network, laddr string, tlsConf *tls.Config, config *quic.Config) (net.Listener, error)
- func SetInherited() error
- type Conn
- func (c *Conn) Close() error
- func (c *Conn) LocalAddr() net.Addr
- func (c *Conn) Read(b []byte) (n int, err error)
- func (c *Conn) RemoteAddr() net.Addr
- func (c *Conn) SetDeadline(t time.Time) error
- func (c *Conn) SetReadDeadline(t time.Time) error
- func (c *Conn) SetWriteDeadline(t time.Time) error
- func (c *Conn) Write(b []byte) (n int, err error)
- type Listener
- func Listen(conn net.PacketConn, tlsConf *tls.Config, config *quic.Config) (*Listener, error)
- func ListenAddr(network, addr string, tlsConf *tls.Config, config *quic.Config) (*Listener, error)
- func ListenUDPAddr(network string, udpAddr *net.UDPAddr, tlsConf *tls.Config, config *quic.Config) (*Listener, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DialAddrContext ¶
func DialAddrContext(ctx context.Context, network string, laddr *net.UDPAddr, raddr string, tlsConf *tls.Config, config *quic.Config) (net.Conn, error)
DialAddrContext establishes a new QUIC connection to a server. It uses a new UDP connection and closes this connection when the QUIC session is closed. The hostname for SNI is taken from the given address.
func InheritedListen ¶
func InheritedListen(network, laddr string, tlsConf *tls.Config, config *quic.Config) (net.Listener, error)
InheritedListen announces on the local network address laddr. The network net is "quic". It returns an inherited net.Listener for the matching network and address, or creates a new one using net.Listen.
func SetInherited ¶
func SetInherited() error
SetInherited adds the files and envs to be inherited by the new process. Notes:
Only for reboot! Windows system are not supported!
Types ¶
type Conn ¶
type Conn struct {
// contains filtered or unexported fields
}
Conn is a QUIC network connection.
Multiple goroutines may invoke methods on a Conn simultaneously.
func (*Conn) Close ¶
Close closes the connection. Any blocked Read or Write operations will be unblocked and return errors.
func (*Conn) Read ¶
Read reads data from the connection. Read can be made to time out and return an Error with Timeout() == true after a fixed time limit; see SetDeadline and SetReadDeadline.
func (*Conn) RemoteAddr ¶
RemoteAddr returns the remote network address.
func (*Conn) SetDeadline ¶
SetDeadline sets the read and write deadlines associated with the connection. It is equivalent to calling both SetReadDeadline and SetWriteDeadline.
A deadline is an absolute time after which I/O operations fail with a timeout (see type Error) instead of blocking. The deadline applies to all future and pending I/O, not just the immediately following call to Read or Write. After a deadline has been exceeded, the connection can be refreshed by setting a deadline in the future.
An idle timeout can be implemented by repeatedly extending the deadline after successful Read or Write calls.
A zero value for t means I/O operations will not time out.
func (*Conn) SetReadDeadline ¶
SetReadDeadline sets the deadline for future Read calls and any currently-blocked Read call. A zero value for t means Read will not time out.
func (*Conn) SetWriteDeadline ¶
SetWriteDeadline sets the deadline for future Write calls and any currently-blocked Write call. Even if write times out, it may return n > 0, indicating that some of the data was successfully written. A zero value for t means Write will not time out.
type Listener ¶
type Listener struct {
// contains filtered or unexported fields
}
A Listener is a generic network listener for stream-oriented protocols.
Multiple goroutines may invoke methods on a Listener simultaneously.
func Listen ¶
Listen listens for QUIC connections on a given net.PacketConn. A single PacketConn only be used for a single call to Listen. The PacketConn can be used for simultaneous calls to Dial. QUIC connection IDs are used for demultiplexing the different connections. The tls.Config must not be nil and must contain a certificate configuration. The quic.Config may be nil, in that case the default values will be used.
func ListenAddr ¶
ListenAddr announces on the local network address addr. The tls.Config must not be nil and must contain a certificate configuration. The quic.Config may be nil, in that case the default values will be used.
func ListenUDPAddr ¶
func ListenUDPAddr(network string, udpAddr *net.UDPAddr, tlsConf *tls.Config, config *quic.Config) (*Listener, error)
ListenUDPAddr announces on the local network address udpAddr. The tls.Config must not be nil and must contain a certificate configuration. The quic.Config may be nil, in that case the default values will be used.
func (*Listener) PacketConn ¶
func (l *Listener) PacketConn() net.PacketConn
PacketConn returns the net.PacketConn.