Documentation ¶
Index ¶
- type Executor
- type TaskQueue
- type WorkerTaskQueue
- func (tq *WorkerTaskQueue) PushTask(p peer.ID, task peertask.Task)
- func (tq *WorkerTaskQueue) Shutdown()
- func (tq *WorkerTaskQueue) Startup(workerCount uint64, executor Executor)
- func (tq *WorkerTaskQueue) Stats() graphsync.RequestStats
- func (tq *WorkerTaskQueue) TaskDone(p peer.ID, task *peertask.Task)
- func (tq *WorkerTaskQueue) WaitForNoActiveTasks()
- func (tq *WorkerTaskQueue) WithPeerTopics(p peer.ID, withPeerTopics func(*peertracker.PeerTrackerTopics))
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type WorkerTaskQueue ¶
type WorkerTaskQueue struct { *peertaskqueue.PeerTaskQueue // contains filtered or unexported fields }
WorkerTaskQueue is a wrapper around peertaskqueue.PeerTaskQueue that manages running workers that pop tasks and execute them
func NewTaskQueue ¶
func NewTaskQueue(ctx context.Context, ptqopts ...peertaskqueue.Option) *WorkerTaskQueue
NewTaskQueue initializes a new queue
func (*WorkerTaskQueue) PushTask ¶
func (tq *WorkerTaskQueue) PushTask(p peer.ID, task peertask.Task)
PushTask pushes a new task on to the queue
func (*WorkerTaskQueue) Shutdown ¶
func (tq *WorkerTaskQueue) Shutdown()
Shutdown shuts down all running workers
func (*WorkerTaskQueue) Startup ¶
func (tq *WorkerTaskQueue) Startup(workerCount uint64, executor Executor)
Startup runs the given number of task workers with the given executor
func (*WorkerTaskQueue) Stats ¶
func (tq *WorkerTaskQueue) Stats() graphsync.RequestStats
Stats returns statistics about a task queue
func (*WorkerTaskQueue) TaskDone ¶
func (tq *WorkerTaskQueue) TaskDone(p peer.ID, task *peertask.Task)
TaskDone marks a task as completed so further tasks can be executed
func (*WorkerTaskQueue) WaitForNoActiveTasks ¶
func (tq *WorkerTaskQueue) WaitForNoActiveTasks()
func (*WorkerTaskQueue) WithPeerTopics ¶
func (tq *WorkerTaskQueue) WithPeerTopics(p peer.ID, withPeerTopics func(*peertracker.PeerTrackerTopics))
Click to show internal directories.
Click to hide internal directories.