
com.github.segmentio.safeclient.queue.LockingQueue Maven / Gradle / Ivy
package com.github.segmentio.safeclient.queue;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.LinkedBlockingQueue;
public class LockingQueue implements IBatchQueue {
private LinkedBlockingQueue queue;
public LockingQueue() {
queue = new LinkedBlockingQueue();
}
public int add(T item) {
queue.add(item);
return queue.size();
}
public int size() {
return queue.size();
}
public List flush(int maxAmount) {
List list = new LinkedList();
queue.drainTo(list, maxAmount);
return list;
}
public void clear() {
queue.clear();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy