webseed

package
v1.39.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 16, 2021 License: MPL-2.0 Imports: 14 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrTooFast = errors.New("making requests too fast")

Functions

func NewRequest

func NewRequest(url_ string, fileIndex int, info *metainfo.Info, offset, length int64) (*http.Request, error)

Creates a request per BEP 19.

Types

type Client

type Client struct {
	HttpClient *http.Client
	Url        string

	// The pieces we can request with the Url. We're more likely to ban/block at the file-level
	// given that's how requests are mapped to webseeds, but the torrent.Client works at the piece
	// level. We can map our file-level adjustments to the pieces here. This probably need to be
	// private in the future, if Client ever starts removing pieces.
	Pieces roaring.Bitmap
	// contains filtered or unexported fields
}

func (*Client) NewRequest

func (ws *Client) NewRequest(r RequestSpec) Request

func (*Client) SetInfo added in v1.37.0

func (me *Client) SetInfo(info *metainfo.Info)

type ErrBadResponse added in v1.25.1

type ErrBadResponse struct {
	Msg      string
	Response *http.Response
}

func (ErrBadResponse) Error added in v1.25.1

func (me ErrBadResponse) Error() string

type Request

type Request struct {
	Result chan RequestResult
	// contains filtered or unexported fields
}

func (Request) Cancel

func (r Request) Cancel()

type RequestResult

type RequestResult struct {
	Bytes []byte
	Err   error
}

type RequestSpec

type RequestSpec = segments.Extent

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL