Versions in this module Expand all Collapse all v0 v0.12.0 Nov 27, 2020 v0.11.0 Feb 22, 2020 v0.10.0 Feb 22, 2020 v0.9.0 Sep 18, 2019 v0.8.1 May 21, 2019 v0.8.0 May 19, 2019 Changes in this version + type IndexingResult struct + func (ir IndexingResult) InfoHash() [20]byte + func (ir IndexingResult) PeerAddrs() []net.TCPAddr + type IndexingService struct + func NewIndexingService(laddr string, interval time.Duration, ...) *IndexingService + func (is *IndexingService) Start() + func (is *IndexingService) Terminate() + type IndexingServiceEventHandlers struct + OnResult func(IndexingResult) type Message + func NewSampleInfohashesQuery(id []byte, t []byte, target []byte) *Message type ProtocolEventHandlers + OnSampleInfohashesQuery func(*Message, *net.UDPAddr) + OnSampleInfohashesResponse func(*Message, *net.UDPAddr) type ResponseValues + Interval int + Num int + Samples []byte v0.7.2 Jan 1, 2019 v0.7.1 Dec 30, 2018 v0.7.0 Dec 30, 2018 Changes in this version + type CompactNodeInfo struct + Addr net.UDPAddr + ID []byte + func UnmarshalCompactNodeInfos(b []byte) (ret []CompactNodeInfo, err error) + func (cni *CompactNodeInfo) UnmarshalBinary(b []byte) error + func (cni CompactNodeInfo) MarshalBinary() []byte + type CompactNodeInfos []CompactNodeInfo + func (cnis *CompactNodeInfos) UnmarshalBencode(b []byte) (err error) + func (cnis CompactNodeInfos) MarshalBencode() ([]byte, error) + type CompactPeer struct + IP net.IP + Port int + func UnmarshalCompactPeers(b []byte) (ret []CompactPeer, err error) + func (cp *CompactPeer) UnmarshalBencode(b []byte) (err error) + func (cp *CompactPeer) UnmarshalBinary(b []byte) error + func (cp CompactPeer) MarshalBencode() (ret []byte, err error) + type CompactPeers []CompactPeer + func (cps *CompactPeers) UnmarshalBencode(b []byte) (err error) + func (cps CompactPeers) MarshalBinary() (ret []byte, err error) + type Error struct + Code int + Message []byte + func (e *Error) UnmarshalBencode(b []byte) (err error) + func (e Error) MarshalBencode() ([]byte, error) + type Message struct + A QueryArguments + E Error + Q string + R ResponseValues + T []byte + Y string + func NewAnnouncePeerQuery(id []byte, implied_port bool, info_hash []byte, port uint16, token []byte) *Message + func NewAnnouncePeerResponse(t []byte, id []byte) *Message + func NewFindNodeQuery(id []byte, target []byte) *Message + func NewFindNodeResponse(t []byte, id []byte, nodes []CompactNodeInfo) *Message + func NewGetPeersQuery(id []byte, info_hash []byte) *Message + func NewGetPeersResponseWithNodes(t []byte, id []byte, token []byte, nodes []CompactNodeInfo) *Message + func NewGetPeersResponseWithValues(t []byte, id []byte, token []byte, values []CompactPeer) *Message + func NewPingQuery(id []byte) *Message + func NewPingResponse(t []byte, id []byte) *Message + type Protocol struct + func NewProtocol(laddr string, eventHandlers ProtocolEventHandlers) (p *Protocol) + func (p *Protocol) CalculateToken(address net.IP) []byte + func (p *Protocol) SendMessage(msg *Message, addr *net.UDPAddr) + func (p *Protocol) Start() + func (p *Protocol) Terminate() + func (p *Protocol) VerifyToken(address net.IP, token []byte) bool + type ProtocolEventHandlers struct + OnAnnouncePeerQuery func(*Message, *net.UDPAddr) + OnCongestion func() + OnFindNodeQuery func(*Message, *net.UDPAddr) + OnFindNodeResponse func(*Message, *net.UDPAddr) + OnGetPeersQuery func(*Message, *net.UDPAddr) + OnGetPeersResponse func(*Message, *net.UDPAddr) + OnPingORAnnouncePeerResponse func(*Message, *net.UDPAddr) + OnPingQuery func(*Message, *net.UDPAddr) + type QueryArguments struct + ID []byte + ImpliedPort int + InfoHash []byte + NoSeed int + Port int + Scrape int + Seed int + Target []byte + Token []byte + type ResponseValues struct + BFpe *bloom.BloomFilter + BFsd *bloom.BloomFilter + ID []byte + Nodes CompactNodeInfos + Token []byte + Values []CompactPeer + type Transport struct + func NewTransport(laddr string, onMessage func(*Message, *net.UDPAddr), onCongestion func()) *Transport + func (t *Transport) Start() + func (t *Transport) Terminate() + func (t *Transport) WriteMessages(msg *Message, addr *net.UDPAddr) + type TrawlingResult struct + InfoHash [20]byte + PeerAddr *net.TCPAddr + type TrawlingService struct + func NewTrawlingService(laddr string, initialMaxNeighbors uint, interval time.Duration, ...) *TrawlingService + func (s *TrawlingService) Start() + func (s *TrawlingService) Terminate() + type TrawlingServiceEventHandlers struct + OnResult func(TrawlingResult) v0.7.0-beta.1 Sep 21, 2018