| Index: logdog/appengine/coordinator/coordinatorTest/archival.go
|
| diff --git a/logdog/appengine/coordinator/coordinatorTest/archival.go b/logdog/appengine/coordinator/coordinatorTest/archival.go
|
| index 1dfa74b69ec3981569004e183b3bd13c9cb6f9dc..a73742a8809568d01d5356296f0ce457e665fa03 100644
|
| --- a/logdog/appengine/coordinator/coordinatorTest/archival.go
|
| +++ b/logdog/appengine/coordinator/coordinatorTest/archival.go
|
| @@ -5,6 +5,7 @@
|
| package coordinatorTest
|
|
|
| import (
|
| + "fmt"
|
| "sort"
|
| "sync"
|
|
|
| @@ -22,17 +23,34 @@ type ArchivalPublisher struct {
|
| // Err, if not nil, is the error returned by Publish.
|
| Err error
|
|
|
| + closed bool
|
| tasks []*logdog.ArchiveTask
|
| archivalIndex uint64
|
| }
|
|
|
| var _ coordinator.ArchivalPublisher = (*ArchivalPublisher)(nil)
|
|
|
| +func (ap *ArchivalPublisher) Close() error {
|
| + ap.Lock()
|
| + defer ap.Unlock()
|
| +
|
| + if ap.closed {
|
| + return fmt.Errorf("already closed")
|
| + }
|
| + ap.closed = true
|
| +
|
| + return nil
|
| +}
|
| +
|
| // Publish implements coordinator.ArchivalPublisher.
|
| func (ap *ArchivalPublisher) Publish(c context.Context, at *logdog.ArchiveTask) error {
|
| ap.Lock()
|
| defer ap.Unlock()
|
|
|
| + if ap.closed {
|
| + return fmt.Errorf("closed")
|
| + }
|
| +
|
| if err := ap.Err; err != nil {
|
| return err
|
| }
|
|
|