Documentation
¶
Overview ¶
Package frontend provides implementations and abstractions for tracker logic, parsing and request handling over multiple protocols, such as UDP and HTTP.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type TrackerLogic ¶
type TrackerLogic interface { // HandleAnnounce generates a response for an Announce. // // Returns the updated context, the generated AnnounceResponse and no error // on success; nil and error on failure. HandleAnnounce(context.Context, *bittorrent.AnnounceRequest) (context.Context, *bittorrent.AnnounceResponse, error) // AfterAnnounce does something with the results of an Announce after it // has been completed. AfterAnnounce(context.Context, *bittorrent.AnnounceRequest, *bittorrent.AnnounceResponse) // HandleScrape generates a response for a Scrape. // // Returns the updated context, the generated AnnounceResponse and no error // on success; nil and error on failure. HandleScrape(context.Context, *bittorrent.ScrapeRequest) (context.Context, *bittorrent.ScrapeResponse, error) // AfterScrape does something with the results of a Scrape after it has been completed. AfterScrape(context.Context, *bittorrent.ScrapeRequest, *bittorrent.ScrapeResponse) }
TrackerLogic is the interface used by a frontend in order to: (1) generate a response from a parsed request, and (2) asynchronously observe anything after the response has been delivered to the client.
Directories
¶
Path | Synopsis |
---|---|
Package http implements a BitTorrent frontend via the HTTP protocol as described in BEP 3 and BEP 23.
|
Package http implements a BitTorrent frontend via the HTTP protocol as described in BEP 3 and BEP 23. |
bencode
Package bencode implements bencoding of data as defined in BEP 3 using type assertion over reflection for performance.
|
Package bencode implements bencoding of data as defined in BEP 3 using type assertion over reflection for performance. |
Package udp implements a BitTorrent tracker via the UDP protocol as described in BEP 15.
|
Package udp implements a BitTorrent tracker via the UDP protocol as described in BEP 15. |
bytepool
Package bytepool implements an optimization for byte slice allocations by caching those slices for later reuse.
|
Package bytepool implements an optimization for byte slice allocations by caching those slices for later reuse. |
Click to show internal directories.
Click to hide internal directories.