Versions in this module Expand all Collapse all v0 v0.6.1 Dec 15, 2024 v0.6.0 Apr 1, 2023 Changes in this version + const ErrorCodeCasHashMismatched + const ErrorCodeGeneric + const ErrorCodeInvalidSignature + const ErrorCodeMessageValueFieldTooBig + const ErrorCodeMethodUnknown + const ErrorCodeProtocol + const ErrorCodeSaltFieldTooBig + const ErrorCodeSequenceNumberLessThanCurrent + const ErrorCodeServer + 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) + 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 Addr + ID metainfo.Hash + func NewNode(id metainfo.Hash, addr Addr) 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 CompactIPv4Nodes + Nodes6 CompactIPv6Nodes + Token string + Values []string + type Want string + const WantNodes + const WantNodes6