transport

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2024 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Connector = func(ctx context.Context, addr string, peerKey ed25519.PublicKey, ourKey ed25519.PrivateKey) (ADNL, error) {
	return adnl.Connect(ctx, addr, peerKey, ourKey)
}

Functions

This section is empty.

Types

type ADNL

type ADNL interface {
	RemoteAddr() string
	GetID() []byte
	Query(ctx context.Context, req, result tl.Serializable) error
	SetDisconnectHandler(handler func(addr string, key ed25519.PublicKey))
	SetCustomMessageHandler(handler func(msg *adnl.MessageCustom) error)
	SendCustomMessage(ctx context.Context, req tl.Serializable) error
	Close()
}

type DHT

type DHT interface {
	StoreAddress(ctx context.Context, addresses address.List, ttl time.Duration, ownerKey ed25519.PrivateKey, copies int) (int, []byte, error)
	FindAddresses(ctx context.Context, key []byte) (*address.List, ed25519.PublicKey, error)
	Close()
}

type RLDP

type RLDP interface {
	Close()
	DoQuery(ctx context.Context, maxAnswerSize int64, query, result tl.Serializable) error
	SetOnQuery(handler func(transferId []byte, query *rldp.Query) error)
	SetOnDisconnect(handler func())
	SendAnswer(ctx context.Context, maxAnswerSize int64, queryId, transferId []byte, answer tl.Serializable) error
}

type Resolver

type Resolver interface {
	Resolve(ctx context.Context, domain string) (*dns.Domain, error)
}

type Transport

type Transport struct {
	// contains filtered or unexported fields
}

func NewTransport

func NewTransport(dht DHT, resolver Resolver, storeConn storage.NetConnector, store *VirtualStorage) *Transport

func (*Transport) RoundTrip

func (t *Transport) RoundTrip(request *http.Request) (_ *http.Response, err error)

func (*Transport) Stop

func (t *Transport) Stop()

type VirtualStorage

type VirtualStorage struct {
	// contains filtered or unexported fields
}

func NewVirtualStorage

func NewVirtualStorage() *VirtualStorage

func (*VirtualStorage) GetActiveFiles

func (v *VirtualStorage) GetActiveFiles(bagId []byte) ([]uint32, error)

func (*VirtualStorage) GetAll

func (v *VirtualStorage) GetAll() []*storage.Torrent

func (*VirtualStorage) GetFS

func (v *VirtualStorage) GetFS() storage.FS

func (*VirtualStorage) GetPiece

func (v *VirtualStorage) GetPiece(bagId []byte, id uint32) (*storage.PieceInfo, error)

func (*VirtualStorage) GetTorrentByOverlay

func (v *VirtualStorage) GetTorrentByOverlay(overlay []byte) *storage.Torrent

func (*VirtualStorage) PiecesMask

func (v *VirtualStorage) PiecesMask(bagId []byte, num uint32) []byte

func (*VirtualStorage) RemovePiece

func (v *VirtualStorage) RemovePiece(bagId []byte, id uint32) error

func (*VirtualStorage) SetActiveFiles

func (v *VirtualStorage) SetActiveFiles(bagId []byte, ids []uint32) error

func (*VirtualStorage) SetPiece

func (v *VirtualStorage) SetPiece(bagId []byte, id uint32, p *storage.PieceInfo) error

func (*VirtualStorage) SetTorrent

func (v *VirtualStorage) SetTorrent(t *storage.Torrent) error

func (*VirtualStorage) UpdateUploadStats added in v1.5.0

func (v *VirtualStorage) UpdateUploadStats(bagId []byte, val uint64) error

Jump to

Keyboard shortcuts

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