blob: bff566b5132cbab902e1416e460e6eadeafc11b7 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
package xyz.driver.pdsuicommon.concurrent
import java.util.concurrent.LinkedBlockingQueue
import xyz.driver.pdsuicommon.concurrent.BridgeUploadQueue.Item
import xyz.driver.pdsuicommon.domain.LongId
import xyz.driver.pdsuicommon.logging.PhiLogging
import scala.collection.JavaConverters._
import scala.concurrent.Future
/**
* Use it only for tests
*/
class InMemoryBridgeUploadQueue extends BridgeUploadQueue with PhiLogging {
private val queue = new LinkedBlockingQueue[Item]()
override def add(item: Item): Future[Unit] = {
queue.add(item)
done
}
override def tryRetry(item: Item): Future[Option[Item]] = Future.successful(Some(item))
override def get(kind: String): Future[Option[Item]] = {
val r = queue.iterator().asScala.find(_.kind == kind)
Future.successful(r)
}
override def remove(item: LongId[Item]): Future[Unit] = {
queue.remove(item)
done
}
private val done = Future.successful(())
}
|