Add Unique Queue infrastructure and move TestPullRequests to this (#9856)

* Upgrade levelqueue to version 0.2.0

This adds functionality for Unique Queues

* Add UniqueQueue interface and functions to create them

* Add UniqueQueue implementations

* Move TestPullRequests over to use UniqueQueue

* Reduce code duplication

* Add bytefifos

* Ensure invalid types are logged

* Fix close race in PersistableChannelQueue Shutdown
This commit is contained in:
zeripath 2020-02-02 23:19:58 +00:00 committed by GitHub
parent b4914249ee
commit 2c903383b5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
29 changed files with 1950 additions and 516 deletions

View file

@ -74,25 +74,35 @@ type DummyQueue struct {
}
// Run does nothing
func (b *DummyQueue) Run(_, _ func(context.Context, func())) {}
func (*DummyQueue) Run(_, _ func(context.Context, func())) {}
// Push fakes a push of data to the queue
func (b *DummyQueue) Push(Data) error {
func (*DummyQueue) Push(Data) error {
return nil
}
// PushFunc fakes a push of data to the queue with a function. The function is never run.
func (*DummyQueue) PushFunc(Data, func() error) error {
return nil
}
// Has always returns false as this queue never does anything
func (*DummyQueue) Has(Data) (bool, error) {
return false, nil
}
// Flush always returns nil
func (b *DummyQueue) Flush(time.Duration) error {
func (*DummyQueue) Flush(time.Duration) error {
return nil
}
// FlushWithContext always returns nil
func (b *DummyQueue) FlushWithContext(context.Context) error {
func (*DummyQueue) FlushWithContext(context.Context) error {
return nil
}
// IsEmpty asserts that the queue is empty
func (b *DummyQueue) IsEmpty() bool {
func (*DummyQueue) IsEmpty() bool {
return true
}