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.