X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/45f10d80d1b584808a6e375214b5be6bc7d2a730..7109f4f33c919b07f8e87412c3bc2cc28725296a:/services/keepstore/work_queue.go diff --git a/services/keepstore/work_queue.go b/services/keepstore/work_queue.go index f1878ffbbc..be3d118ff0 100644 --- a/services/keepstore/work_queue.go +++ b/services/keepstore/work_queue.go @@ -1,4 +1,8 @@ -package main +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: AGPL-3.0 + +package keepstore /* A WorkQueue is an asynchronous thread-safe queue manager. It provides a channel from which items can be read off the queue, and @@ -84,6 +88,7 @@ package main import "container/list" +// WorkQueue definition type WorkQueue struct { getStatus chan WorkQueueStatus newlist chan *list.List @@ -96,13 +101,13 @@ type WorkQueue struct { DoneItem chan<- struct{} } +// WorkQueueStatus reflects the queue status. type WorkQueueStatus struct { InProgress int Queued int } // NewWorkQueue returns a new empty WorkQueue. -// func NewWorkQueue() *WorkQueue { nextItem := make(chan interface{}) reportDone := make(chan struct{}) @@ -179,7 +184,6 @@ func NewWorkQueue() *WorkQueue { // and starts giving workers items from the given list. After giving // it to ReplaceQueue, the caller must not read or write the given // list. -// func (b *WorkQueue) ReplaceQueue(list *list.List) { b.newlist <- list } @@ -190,14 +194,12 @@ func (b *WorkQueue) ReplaceQueue(list *list.List) { // // After Close, Status will return correct values, NextItem will be // closed, and ReplaceQueue will panic. -// func (b *WorkQueue) Close() { close(b.newlist) } // Status returns an up-to-date WorkQueueStatus reflecting the current // queue status. -// func (b *WorkQueue) Status() WorkQueueStatus { // If the channel is closed, we get the nil value of // WorkQueueStatus, which is an accurate description of a