Documentation
¶
Index ¶
Constants ¶
This section is empty.
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 ¶
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 ¶
Set from the non-compact form in BEP 3.
type RequestHeader ¶
type ResponseHeader ¶
Click to show internal directories.
Click to hide internal directories.