public interface AtomicBuffer extends MutableDirectBuffer
Modifier and Type | Method and Description |
---|---|
int |
addIntOrdered(int index,
int increment)
Add a value to a given index with ordered store semantics.
|
long |
addLongOrdered(int index,
long increment)
Add a value to a given index with ordered store semantics.
|
boolean |
compareAndSetInt(int index,
int expectedValue,
int updateValue)
Atomic compare and set of a int given an expected value.
|
boolean |
compareAndSetLong(int index,
long expectedValue,
long updateValue)
Atomic compare and set of a long given an expected value.
|
int |
getAndAddInt(int index,
int delta)
Atomically add a delta to a value at a location returning the previous contents.
|
long |
getAndAddLong(int index,
long delta)
Atomically add a delta to a value at a location returning the previous contents.
|
int |
getAndSetInt(int index,
int value)
Atomically exchange a value at a location returning the previous contents.
|
long |
getAndSetLong(int index,
long value)
Atomically exchange a value at a location returning the previous contents.
|
byte |
getByteVolatile(int index)
Get the value at a given index with volatile semantics.
|
char |
getCharVolatile(int index)
Get the value at a given index with volatile semantics.
|
int |
getIntVolatile(int index)
Get the value at a given index with volatile semantics.
|
long |
getLongVolatile(int index)
Get the value at a given index with volatile semantics.
|
short |
getShortVolatile(int index)
Get the value at a given index with volatile semantics.
|
void |
putByteVolatile(int index,
byte value)
Put a value to a given index with volatile semantics.
|
void |
putCharVolatile(int index,
char value)
Put a value to a given index with volatile semantics.
|
void |
putIntOrdered(int index,
int value)
Put a value to a given index with ordered semantics.
|
void |
putIntVolatile(int index,
int value)
Put a value to a given index with volatile semantics.
|
void |
putLongOrdered(int index,
long value)
Put a value to a given index with ordered store semantics.
|
void |
putLongVolatile(int index,
long value)
Put a value to a given index with volatile semantics.
|
void |
putShortVolatile(int index,
short value)
Put a value to a given index with volatile semantics.
|
void |
verifyAlignment()
Verify that the underlying buffer is correctly aligned to prevent word tearing and other ordering issues.
|
isExpandable, putByte, putBytes, putBytes, putBytes, putBytes, putBytes, putChar, putChar, putDouble, putDouble, putFloat, putFloat, putInt, putInt, putIntAscii, putLong, putLong, putLongAscii, putNaturalIntAscii, putNaturalIntAsciiFromEnd, putNaturalLongAscii, putNaturalPaddedIntAscii, putShort, putShort, putStringAscii, putStringAscii, putStringUtf8, putStringUtf8, putStringUtf8, putStringUtf8, putStringWithoutLengthAscii, putStringWithoutLengthAscii, putStringWithoutLengthUtf8, setMemory
addressOffset, boundsCheck, byteArray, byteBuffer, capacity, checkLimit, getByte, getBytes, getBytes, getBytes, getBytes, getBytes, getChar, getChar, getDouble, getDouble, getFloat, getFloat, getInt, getInt, getLong, getLong, getShort, getShort, getStringAscii, getStringAscii, getStringAscii, getStringUtf8, getStringUtf8, getStringUtf8, getStringWithoutLengthAscii, getStringWithoutLengthUtf8, parseIntAscii, parseLongAscii, parseNaturalIntAscii, parseNaturalLongAscii, wrap, wrap, wrap, wrap, wrap, wrap, wrap, wrapAdjustment
void verifyAlignment()
java.lang.IllegalStateException
- if the alignment is not correct.long getLongVolatile(int index)
index
- in bytes from which to get.void putLongVolatile(int index, long value)
index
- in bytes for where to put.value
- for at a given indexvoid putLongOrdered(int index, long value)
index
- in bytes for where to put.value
- for at a given indexlong addLongOrdered(int index, long increment)
index
- in bytes for where to put.increment
- by which the value at the index will be adjusted.boolean compareAndSetLong(int index, long expectedValue, long updateValue)
index
- in bytes for where to put.expectedValue
- at to be comparedupdateValue
- to be exchangedlong getAndSetLong(int index, long value)
index
- in bytes for where to put.value
- for at a given indexlong getAndAddLong(int index, long delta)
index
- in bytes for where to put.delta
- to be added to the value at the indexint getIntVolatile(int index)
index
- in bytes from which to get.void putIntVolatile(int index, int value)
index
- in bytes for where to put.value
- for at a given indexvoid putIntOrdered(int index, int value)
index
- in bytes for where to put.value
- for at a given indexint addIntOrdered(int index, int increment)
index
- in bytes for where to put.increment
- by which the value at the index will be adjusted.boolean compareAndSetInt(int index, int expectedValue, int updateValue)
index
- in bytes for where to put.expectedValue
- at to be comparedupdateValue
- to be exchangedint getAndSetInt(int index, int value)
index
- in bytes for where to put.value
- for at a given indexint getAndAddInt(int index, int delta)
index
- in bytes for where to put.delta
- to be added to the value at the indexshort getShortVolatile(int index)
index
- in bytes from which to get.void putShortVolatile(int index, short value)
index
- in bytes for where to put.value
- for at a given indexchar getCharVolatile(int index)
index
- in bytes from which to get.void putCharVolatile(int index, char value)
index
- in bytes for where to put.value
- for at a given indexbyte getByteVolatile(int index)
index
- in bytes from which to get.void putByteVolatile(int index, byte value)
index
- in bytes for where to put.value
- for at a given indexCopyright © 2014-2019 Real Logic Ltd. All Rights Reserved.