Versions in this module Expand all Collapse all v0 v0.13.2 Feb 23, 2022 v0.11.0 Feb 4, 2020 Changes in this version + var ErrJobCanceled = errors.New("job canceled") + var ErrPeerDisconnected = errors.New("peer disconnected") + var ErrQueryTimeout = errors.New("did not get response before timeout") + var ErrWorkManagerShuttingDown = errors.New("WorkManager shutting down") + func DisableLog() + func UseLogger(logger btclog.Logger) + type Config struct + ConnectedPeers func() (<-chan Peer, func(), error) + NewWorker func(Peer) Worker + Ranking PeerRanking + type Dispatcher interface + Query func(reqs []*Request, options ...QueryOption) chan error + type Peer interface + Addr func() string + OnDisconnect func() <-chan struct{} + QueueMessageWithEncoding func(msg wire.Message, doneChan chan<- struct{}, encoding wire.MessageEncoding) + SubscribeRecvMsg func() (<-chan wire.Message, func()) + type PeerRanking interface + AddPeer func(peer string) + Order func(peers []string) + Punish func(peer string) + Reward func(peer string) + func NewPeerRanking() PeerRanking + type Progress struct + Finished bool + Progressed bool + type QueryOption func(*queryOptions) + func Cancel(cancel chan struct{}) QueryOption + func Encoding(encoding wire.MessageEncoding) QueryOption + func Timeout(timeout time.Duration) QueryOption + type Request struct + HandleResp func(req, resp wire.Message, peer string) Progress + Req wire.Message + type Task interface + Index func() uint64 + type WorkManager struct + func New(cfg *Config) *WorkManager + func (w *WorkManager) Query(requests []*Request, options ...QueryOption) chan error + func (w *WorkManager) Start() error + func (w *WorkManager) Stop() error + type Worker interface + NewJob func() chan<- *queryJob + Run func(results chan<- *jobResult, quit <-chan struct{}) + func NewWorker(peer Peer) Worker