Documentation ¶
Index ¶
Constants ¶
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) 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 }
func (Announce) Do ¶
func (me Announce) Do() (res AnnounceResponse, err error)
type AnnounceEvent ¶
type AnnounceEvent int32
const ( None AnnounceEvent = iota Completed // The local peer just completed the torrent. Started // The local peer has just resumed this torrent. Stopped // The local peer is leaving the swarm. )
func (AnnounceEvent) String ¶
func (e AnnounceEvent) String() string
type AnnounceRequest ¶
type AnnounceRequest struct { InfoHash [20]byte PeerId [20]byte Downloaded int64 Left int64 // If less than 0, math.MaxInt64 will be used for HTTP trackers instead. Uploaded int64 // Apparently this is optional. None can be used for announces done at // regular intervals. Event AnnounceEvent IPAddress uint32 Key int32 NumWant int32 // How many peer addresses are desired. -1 for default. Port uint16 } // 82 bytes
Marshalled as binary by the UDP client, so be careful making changes.
type AnnounceResponse ¶
type AnnounceResponseHeader ¶
type ConnectionRequest ¶
type ConnectionResponse ¶
type ConnectionResponse struct {
ConnectionId int64
}
type HttpResponse ¶ added in v1.10.0
type HttpResponse struct { FailureReason string `bencode:"failure reason"` Interval int32 `bencode:"interval"` TrackerId string `bencode:"tracker id"` Complete int32 `bencode:"complete"` Incomplete int32 `bencode:"incomplete"` Peers Peers `bencode:"peers"` // BEP 7 Peers6 krpc.CompactIPv6NodeAddrs `bencode:"peers6"` }
type Peer ¶
func (*Peer) FromDictInterface ¶ added in v1.10.0
Set from the non-compact form in BEP 3.
type RequestHeader ¶
type ResponseHeader ¶
Click to show internal directories.
Click to hide internal directories.