Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AnnounceRequest ¶
type AnnounceRequest struct {
Numwant int `json:"numwant"`
Uploaded int64 `json:"uploaded"`
Downloaded int64 `json:"downloaded"`
Left int64 `json:"left"`
Event string `json:"event,omitempty"`
Action string `json:"action"`
InfoHash string `json:"info_hash"`
PeerID string `json:"peer_id"`
Offers []Offer `json:"offers"`
}
type AnnounceResponse ¶
type AnnounceResponse struct {
InfoHash string `json:"info_hash"`
Action string `json:"action"`
Interval *int `json:"interval,omitempty"`
Complete *int `json:"complete,omitempty"`
Incomplete *int `json:"incomplete,omitempty"`
PeerID string `json:"peer_id,omitempty"`
ToPeerID string `json:"to_peer_id,omitempty"`
Answer *webrtc.SessionDescription `json:"answer,omitempty"`
Offer *webrtc.SessionDescription `json:"offer,omitempty"`
OfferID string `json:"offer_id,omitempty"`
}
type DataChannelContext ¶
type DataChannelContext struct {
OfferId string
LocalOffered bool
InfoHash [20]byte
Span trace.Span
Context context.Context
// contains filtered or unexported fields
}
func (*DataChannelContext) GetSelectedIceCandidatePair ¶
func (me *DataChannelContext) GetSelectedIceCandidatePair() (*webrtc.ICECandidatePair, error)
type Offer ¶
type Offer struct {
OfferID string `json:"offer_id"`
Offer webrtc.SessionDescription `json:"offer"`
}
type TrackerClient ¶
type TrackerClient struct {
Url string
GetAnnounceRequest func(_ tracker.AnnounceEvent, infoHash [20]byte) (tracker.AnnounceRequest, error)
PeerId [20]byte
OnConn onDataChannelOpen
Logger log.Logger
Dialer *websocket.Dialer
WebsocketTrackerHttpHeader func() http.Header
ICEServers []webrtc.ICEServer
// contains filtered or unexported fields
}
Client represents the webtorrent client
func (*TrackerClient) Announce ¶
func (tc *TrackerClient) Announce(event tracker.AnnounceEvent, infoHash [20]byte) error
func (*TrackerClient) Close ¶
func (tc *TrackerClient) Close() error
func (*TrackerClient) CloseOffersForInfohash ¶
func (tc *TrackerClient) CloseOffersForInfohash(infoHash [20]byte)
func (*TrackerClient) Start ¶
func (tc *TrackerClient) Start(onStop func(error))
Finishes initialization and spawns the run routine, calling onStop when it completes with the result. We don't let the caller just spawn the runner directly, since then we can race against .Close to finish initialization.
func (*TrackerClient) Stats ¶
func (me *TrackerClient) Stats() TrackerClientStats
type TrackerClientStats ¶
Click to show internal directories.
Click to hide internal directories.