quicconn

package
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 6, 2021 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const ProtoSSH = "ssh"

ProtoSSH is the protocol string used in the tls.Config NextProtos

Variables

This section is empty.

Functions

This section is empty.

Types

type QuicConn

type QuicConn struct {
	Session quic.Session
	Stream  quic.Stream
}

QuicConn is a struct wrapping a single QUIC stream into a net.Conn connection.

func Dial

func Dial(addr string) (*QuicConn, error)

Dial dials a new Quic session, opens a new stream in this session and returns this session/stream pair as a QuicConn

func New

func New(conn net.PacketConn, raddr net.Addr) (*QuicConn, error)

New dials a new Quic session on an established socket, opens a new stream in this session and returns this session/stream pair as a QuicConn

func (*QuicConn) Close

func (mc *QuicConn) Close() error

Close closes the connection. Any blocked Read or Write operations will be unblocked and return errors.

func (*QuicConn) LocalAddr

func (mc *QuicConn) LocalAddr() net.Addr

LocalAddr returns the local network address.

func (*QuicConn) Read

func (mc *QuicConn) Read(b []byte) (n int, err error)

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 (*QuicConn) RemoteAddr

func (mc *QuicConn) RemoteAddr() net.Addr

RemoteAddr returns the remote network address.

func (*QuicConn) SetDeadline

func (mc *QuicConn) SetDeadline(t time.Time) error

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 (*QuicConn) SetReadDeadline

func (mc *QuicConn) SetReadDeadline(t time.Time) error

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 (*QuicConn) SetWriteDeadline

func (mc *QuicConn) SetWriteDeadline(t time.Time) error

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.

func (*QuicConn) Write

func (mc *QuicConn) Write(b []byte) (n int, err error)

Write writes data to the connection. Write can be made to time out and return an Error with Timeout() == true after a fixed time limit; see SetDeadline and SetWriteDeadline.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL