tracker

package
v0.0.0-...-6e19431 Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2024 License: MPL-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	None      = shared.None
	Started   = shared.Started
	Stopped   = shared.Stopped
	Completed = shared.Completed
)
View Source
const DefaultTrackerAnnounceTimeout = 15 * time.Second

The code *is* the documentation.

Variables

View Source
var ErrBadScheme = errors.New("unknown scheme")

Functions

This section is empty.

Types

type Announce

type Announce struct {
	TrackerUrl          string
	Request             AnnounceRequest
	HostHeader          string
	HttpProxy           func(*http.Request) (*url.URL, error)
	HttpRequestDirector func(*http.Request) error
	DialContext         func(ctx context.Context, network, addr string) (net.Conn, error)
	ListenPacket        func(network, addr string) (net.PacketConn, error)
	ServerName          string
	UserAgent           string
	UdpNetwork          string
	// If the port is zero, it's assumed to be the same as the Request.Port.
	ClientIp4 krpc.NodeAddr
	// If the port is zero, it's assumed to be the same as the Request.Port.
	ClientIp6 krpc.NodeAddr
	Context   context.Context
	Logger    log.Logger
}

func (Announce) Do

func (me Announce) Do() (res AnnounceResponse, err error)

type AnnounceEvent

type AnnounceEvent = udp.AnnounceEvent

type AnnounceOpt

type AnnounceOpt = trHttp.AnnounceOpt

type AnnounceRequest

type AnnounceRequest = udp.AnnounceRequest

type AnnounceResponse

type AnnounceResponse = trHttp.AnnounceResponse

type Client

type Client interface {
	Announce(context.Context, AnnounceRequest, AnnounceOpt) (AnnounceResponse, error)
	Scrape(ctx context.Context, ihs []infohash.T) (out udp.ScrapeResponse, err error)
	Close() error
}

func NewClient

func NewClient(urlStr string, opts NewClientOpts) (Client, error)

type NewClientOpts

type NewClientOpts struct {
	Http trHttp.NewClientOpts
	// Overrides the network in the scheme. Probably a legacy thing.
	UdpNetwork   string
	Logger       log.Logger
	ListenPacket func(network, addr string) (net.PacketConn, error)
}

type Peer

type Peer = trHttp.Peer

Directories

Path Synopsis
udp

Jump to

Keyboard shortcuts

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