public interface IBigQueue extends Closeable
| Modifier and Type | Interface and Description |
|---|---|
static interface |
IBigQueue.ItemIterator
Item iterator interface
|
| Modifier and Type | Method and Description |
|---|---|
void |
applyForEach(IBigQueue.ItemIterator iterator)
apply an implementation of a ItemIterator interface for each queue item
|
byte[] |
dequeue()
Retrieves and removes the front of a queue
|
CompletableFuture<byte[]> |
dequeueAsync()
Retrieves a Future which will complete if new Items where enqued.
|
void |
enqueue(byte[] data)
Adds an item at the back of a queue
|
void |
flush()
Force to persist current state of the queue,
normally, you don't need to flush explicitly since:
1.) BigQueue will automatically flush a cached page when it is replaced out,
2.) BigQueue uses memory mapped file technology internally, and the OS will flush the changes even your process crashes,
call this periodically only if you need transactional reliability and you are aware of the cost to performance.
|
void |
gc()
Delete all used data files to free disk space.
|
boolean |
isEmpty()
Determines whether a queue is empty
|
byte[] |
peek()
Retrieves the item at the front of a queue
|
CompletableFuture<byte[]> |
peekAsync()
Retrieves the item at the front of a queue asynchronously.
|
void |
removeAll()
Removes all items of a queue, this will empty the queue and delete all back data files.
|
long |
size()
Total number of items available in the queue.
|
boolean isEmpty()
void enqueue(byte[] data)
throws IOException
data - to be enqueued dataIOException - exception throws if there is any IO error during enqueue operation.byte[] dequeue()
throws IOException
IOException - exception throws if there is any IO error during dequeue operation.CompletableFuture<byte[]> dequeueAsync()
void removeAll()
throws IOException
IOException - exception throws if there is any IO error during dequeue operation.byte[] peek()
throws IOException
IOException - exception throws if there is any IO error during peek operation.CompletableFuture<byte[]> peekAsync()
void applyForEach(IBigQueue.ItemIterator iterator) throws IOException
iterator - Callback used for each item in array.IOException - exception thrown if IO error occursvoid gc() throws IOException
IOException - exception throws if there is any IO error during gc operation.void flush()
long size()
Copyright © 2022. All rights reserved.