torrent/utp.go

24 lines
543 B
Go
Raw Normal View History

2017-06-16 08:08:24 +00:00
package torrent
import (
"context"
2017-06-16 08:08:24 +00:00
"net"
"time"
)
// Abstracts the utp Socket, so the implementation can be selected from
// different packages.
type utpSocket interface {
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)
2017-06-16 08:08:24 +00:00
}