package com.github.ltsopensource.nio.processor;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.locks.ReentrantLock;
/**
* @author Robert HG (254963746@qq.com) on 1/31/16.
*/
public class WriteQueue {
private ConcurrentLinkedQueue<WriteRequest> queue = new ConcurrentLinkedQueue<WriteRequest>();
private volatile ReentrantLock lock = new ReentrantLock();
public void offer(WriteRequest message) {
queue.offer(message);
}
public WriteRequest peek() {
return queue.peek();
}
public WriteRequest poll() {
return queue.poll();
}
public boolean tryLock() {
return lock.tryLock();
}
public void unlock() {
lock.unlock();
}
public boolean isEmpty() {
return queue.isEmpty();
}
}