@Override public PersistentQueue<T> get() { try { return new PersistentQueue<T>(new IndexedChronicleQueuePersistor<T>(basePath, codec, clearOnStart, deleteOnExit, config)); } catch(IOException e) { throw new IllegalStateException(e.getMessage(), e); } }
@Override public T poll() { if(size() == 0 || !persistor.hasNext()) { return null; } return persistor.remove().get(); }
@Override public T peek() { if(size() == 0 || !persistor.hasNext()) { return null; } Long lastId = persistor.lastId(); return persistor.get().apply(lastId); }