Versions in this module Expand all Collapse all v0 v0.5.0 Mar 4, 2023 Changes in this version + type Addr struct + IP net.IP + Orig net.Addr + Port uint16 + func NewAddr(ip net.IP, port uint16) Addr + func NewAddrFromUDPAddr(ua *net.UDPAddr) Addr + func ParseAddrs(s string) (addrs []Addr, err error) + func (a *Addr) UnmarshalBencode(b []byte) (err error) + func (a *Addr) UnmarshalBinary(data []byte) error + func (a Addr) Equal(o Addr) bool + func (a Addr) MarshalBencode() (b []byte, err error) + func (a Addr) MarshalBinary() (data []byte, err error) + func (a Addr) Network() string + func (a Addr) String() string + func (a Addr) UDPAddr() *net.UDPAddr + func (a Addr) Valid() bool + func (a Addr) WriteBinary(w io.Writer) (n int, err error) + type CompactIPv4Addrs []Addr + func (cas *CompactIPv4Addrs) UnmarshalBencode(b []byte) (err error) + func (cas *CompactIPv4Addrs) UnmarshalBinary(b []byte) (err error) + func (cas CompactIPv4Addrs) MarshalBencode() (b []byte, err error) + func (cas CompactIPv4Addrs) MarshalBinary() ([]byte, error) + type CompactIPv4Nodes []Node + func (cns *CompactIPv4Nodes) UnmarshalBencode(b []byte) (err error) + func (cns *CompactIPv4Nodes) UnmarshalBinary(b []byte) (err error) + func (cns CompactIPv4Nodes) MarshalBencode() (b []byte, err error) + func (cns CompactIPv4Nodes) MarshalBinary() ([]byte, error) + type CompactIPv6Addrs []Addr + func (cas *CompactIPv6Addrs) UnmarshalBencode(b []byte) (err error) + func (cas *CompactIPv6Addrs) UnmarshalBinary(b []byte) (err error) + func (cas CompactIPv6Addrs) MarshalBencode() (b []byte, err error) + func (cas CompactIPv6Addrs) MarshalBinary() ([]byte, error) + type CompactIPv6Nodes []Node + func (cns *CompactIPv6Nodes) UnmarshalBencode(b []byte) (err error) + func (cns *CompactIPv6Nodes) UnmarshalBinary(b []byte) (err error) + func (cns CompactIPv6Nodes) MarshalBencode() (b []byte, err error) + func (cns CompactIPv6Nodes) MarshalBinary() ([]byte, error) v0.4.3 Jul 24, 2022 v0.4.2 May 10, 2022 v0.4.1 Feb 8, 2021 v0.4.0 Jan 3, 2021 v0.3.0 Jun 28, 2020 v0.2.0 Jun 19, 2020 v0.1.0 Jun 7, 2020 Changes in this version + const ErrorCodeCasHashMismatched + const ErrorCodeGeneric + const ErrorCodeInvalidSignature + const ErrorCodeMessageValueFieldTooBig + const ErrorCodeMethodUnknown + const ErrorCodeProtocol + const ErrorCodeSaltFieldTooBig + const ErrorCodeSequenceNumberLessThanCurrent + const ErrorCodeServer + type CompactAddresses []metainfo.Address + func (cas *CompactAddresses) UnmarshalBinary(b []byte) (err error) + func (cas CompactAddresses) MarshalBinary() ([]byte, error) + type CompactIPv4Node []Node + func (cn *CompactIPv4Node) UnmarshalBencode(b []byte) (err error) + func (cn *CompactIPv4Node) UnmarshalBinary(b []byte) (err error) + func (cn CompactIPv4Node) MarshalBencode() (b []byte, err error) + func (cn CompactIPv4Node) MarshalBinary() ([]byte, error) + type CompactIPv6Node []Node + func (cn *CompactIPv6Node) UnmarshalBencode(b []byte) (err error) + func (cn *CompactIPv6Node) UnmarshalBinary(b []byte) (err error) + func (cn CompactIPv6Node) MarshalBencode() (b []byte, err error) + func (cn CompactIPv6Node) MarshalBinary() ([]byte, error) + type Error struct + Code int + Reason string + func NewError(code int, reason string) Error + func (e *Error) UnmarshalBencode(b []byte) (err error) + func (e Error) Error() string + func (e Error) MarshalBencode() (ret []byte, err error) + type Message struct + A QueryArg + E Error + Q string + R ResponseResult + RO bool + T string + Y string + func NewErrorMsg(tid string, code int, reason string) Message + func NewQueryMsg(tid, method string, arg QueryArg) Message + func NewResponseMsg(tid string, data ResponseResult) Message + func (m Message) ID() metainfo.Hash + func (m Message) IsError() bool + func (m Message) IsQuery() bool + func (m Message) IsResponse() bool + func (m Message) QID() metainfo.Hash + func (m Message) RID() metainfo.Hash + type Node struct + Addr metainfo.Address + ID metainfo.Hash + func NewNode(id metainfo.Hash, ip net.IP, port int) Node + func NewNodeByUDPAddr(id metainfo.Hash, addr *net.UDPAddr) (n Node) + func (n *Node) UnmarshalBinary(b []byte) error + func (n Node) Equal(o Node) bool + func (n Node) MarshalBinary() (data []byte, err error) + func (n Node) String() string + func (n Node) WriteBinary(w io.Writer) (m int, err error) + type QueryArg struct + ID metainfo.Hash + ImpliedPort bool + InfoHash metainfo.Hash + Port uint16 + Target metainfo.Hash + Token string + Wants []Want + func (a QueryArg) ContainsWant(w Want) bool + func (a QueryArg) GetPort(port int) uint16 + type ResponseResult struct + ID metainfo.Hash + Nodes CompactIPv4Node + Nodes6 CompactIPv6Node + Token string + Values CompactAddresses + type Want string + const WantNodes + const WantNodes6