Documentation
¶
Index ¶
- Variables
- func NumUnchoking() int
- func Run(peer *Peer, torEvent chan<- TorEvent, torDone <-chan struct{}, info []byte, ...) error
- type Peer
- func (peer *Peer) AmUnchoking() bool
- func (peer *Peer) CanMetadata() bool
- func (peer *Peer) CanPex() bool
- func (p *Peer) Encrypted() bool
- func (p *Peer) GetAddr() netip.AddrPort
- func (peer *Peer) GetBitmap() bitmap.Bitmap
- func (peer *Peer) GetFast() []uint32
- func (peer *Peer) GetHave(index uint32) bool
- func (peer *Peer) GetPex() *pex.Peer
- func (peer *Peer) GetStats() *PeerStats
- func (peer *Peer) GetStatus() *PeerStatus
- func (peer *Peer) Interested() bool
- func (p *Peer) MultipathTCP() bool
- func (peer *Peer) Unchoked() bool
- type PeerCancel
- type PeerCancelPiece
- type PeerDone
- type PeerEvent
- type PeerGetBitmap
- type PeerGetFast
- type PeerGetHave
- type PeerGetMetadata
- type PeerGetPex
- type PeerGetStats
- type PeerGetStatus
- type PeerHave
- type PeerInterested
- type PeerMetadataComplete
- type PeerPex
- type PeerRequest
- type PeerStats
- type PeerStatus
- type PeerUnchoke
- type Requested
- type TorAddKnown
- type TorAddPeer
- type TorAnnounce
- type TorBadPeer
- type TorConf
- type TorData
- type TorDrop
- type TorDropPeer
- type TorEvent
- type TorGetAvailable
- type TorGetConf
- type TorGetKnown
- type TorGetKnowns
- type TorGetPeer
- type TorGetPeers
- type TorGetStats
- type TorGoAway
- type TorHave
- type TorMetaData
- type TorPeerBitmap
- type TorPeerExtended
- type TorPeerGoaway
- type TorPeerHave
- type TorPeerInterested
- type TorPeerUnchoke
- type TorRequest
- type TorSetConf
- type TorStats
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrCannotFast = errors.New("peer doesn't implement Fast extension")
View Source
var ErrCongested = errors.New("peer is congested")
View Source
var ErrMetadataIncomplete = errors.New("metadata incomplete")
View Source
var ErrRange = errors.New("value out of range")
View Source
var UploadEstimator, DownloadEstimator rate.AtomicEstimator
Functions ¶
func NumUnchoking ¶
func NumUnchoking() int
Types ¶
type Peer ¶
type Peer struct {
Counter uint32
Id hash.Hash
IP netip.Addr
Port uint32
Incoming bool
Info []byte
Pieces *piece.Pieces
Event chan PeerEvent
Done chan struct{}
Log *log.Logger
// contains filtered or unexported fields
}
func (*Peer) AmUnchoking ¶
func (*Peer) CanMetadata ¶
func (*Peer) GetStatus ¶
func (peer *Peer) GetStatus() *PeerStatus
func (*Peer) Interested ¶
func (*Peer) MultipathTCP ¶
type PeerCancel ¶
type PeerCancel struct {
Chunk uint32
}
type PeerCancelPiece ¶
type PeerCancelPiece struct {
Index uint32
}
type PeerGetBitmap ¶
type PeerGetFast ¶
type PeerGetFast struct {
Ch chan<- []uint32
}
type PeerGetHave ¶
type PeerGetMetadata ¶
type PeerGetMetadata struct {
Index uint32
}
type PeerGetPex ¶
type PeerGetStats ¶
type PeerGetStats struct {
Ch chan<- PeerStats
}
type PeerGetStatus ¶
type PeerGetStatus struct {
Ch chan<- PeerStatus
}
type PeerInterested ¶
type PeerInterested struct {
Interested bool
}
type PeerMetadataComplete ¶
type PeerMetadataComplete struct {
Info []byte
}
type PeerRequest ¶
type PeerRequest struct {
Chunks []uint32
}
type PeerStatus ¶
type PeerUnchoke ¶
type PeerUnchoke struct {
Unchoke bool
}
type TorAddKnown ¶
type TorAddPeer ¶
type TorAnnounce ¶
type TorAnnounce struct {
IPv6 bool
}
type TorBadPeer ¶
type TorDropPeer ¶
type TorDropPeer struct {
Ch chan<- bool
}
type TorGetAvailable ¶
type TorGetAvailable struct {
Ch chan<- []uint16
}
type TorGetConf ¶
type TorGetConf struct {
Ch chan<- TorConf
}
type TorGetKnown ¶
type TorGetKnowns ¶
type TorGetPeer ¶
type TorGetPeers ¶
type TorGetPeers struct {
Ch chan<- []*Peer
}
type TorGetStats ¶
type TorGetStats struct {
Ch chan<- *TorStats
}
type TorMetaData ¶
type TorPeerExtended ¶
type TorPeerGoaway ¶
type TorPeerGoaway struct {
Peer *Peer
}
type TorPeerHave ¶
type TorPeerInterested ¶
type TorPeerUnchoke ¶
type TorRequest ¶
type TorSetConf ¶
type TorSetConf struct {
Conf TorConf
Ch chan<- struct{}
}
Click to show internal directories.
Click to hide internal directories.