public class AddressTripleDeque extends LocalDeque
head
queue, tail, tailBufferEnd
BUFFER_MASK, BUFFER_SIZE, HEAD_INITIAL_VALUE, LOG_PAGES_PER_BUFFER, META_DATA_SIZE, NEXT_FIELD_OFFSET, PAGES_PER_BUFFER, TAIL_INITIAL_VALUE, USABLE_BUFFER_BYTES
Constructor and Description |
---|
AddressTripleDeque(SharedDeque queue)
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
insert(Address addr1,
Address addr2,
Address addr3)
Insert an address triple into the address queue.
|
Address |
pop1()
Pop the first address in a triple from the address queue, return
zero if the queue is empty.
|
Address |
pop2()
Pop the second address in a triple from the address queue.
|
Address |
pop3()
Pop the third address in a triple from the address queue.
|
void |
push(Address addr1,
Address addr2,
Address addr3)
Push an address pair onto the address queue.
|
checkHeadInsert, flushLocal, uncheckedHeadInsert
checkDequeue, headStarved, resetLocal, uncheckedDequeue
bufferSentinel, checkTailInsert, isFlushed, normalizeTail, reset, uncheckedTailInsert
bufferEnd, bufferFirst, bufferLast, bufferLast, bufferLastOffset, bufferOffset, bufferStart
AddressTripleDeque(SharedDeque queue)
queue
- The shared queue to which this queue will append its
buffers (when full or flushed) and from which it will acquire new
buffers when it has exhausted its own.public final void insert(Address addr1, Address addr2, Address addr3)
addr1
- the first address to be inserted into the address queueaddr2
- the second address to be inserted into the address queueaddr3
- the third address to be inserted into the address queuepublic final void push(Address addr1, Address addr2, Address addr3)
addr1
- the first value to be pushed onto the address queueaddr2
- the second value to be pushed onto the address queueaddr3
- the third address to be pushed onto the address queuepublic final Address pop1()
public final Address pop2()