import (
"context"
"net"
- "time"
)
// Abstracts the utp Socket, so the implementation can be selected from
// different packages.
type utpSocket interface {
+ net.PacketConn
+ // net.Listener, but we can't have duplicate Close.
Accept() (net.Conn, error)
Addr() net.Addr
- Close() error
- LocalAddr() net.Addr
- ReadFrom([]byte) (int, net.Addr, error)
- SetDeadline(time.Time) error
- SetWriteDeadline(time.Time) error
- SetReadDeadline(time.Time) error
- WriteTo([]byte, net.Addr) (int, error)
- DialContext(ctx context.Context, addr string) (net.Conn, error)
- Dial(addr string) (net.Conn, error)
+ // net.Dialer but there's no interface.
+ DialContext(ctx context.Context, network, addr string) (net.Conn, error)
+ // Dial(addr string) (net.Conn, error)
}