public class NativeBytesStore<Underlying> extends AbstractBytesStore<NativeBytesStore<Underlying>,Underlying>
| Modifier and Type | Field and Description |
|---|---|
protected long |
address |
protected long |
maximumLimit |
protected net.openhft.chronicle.core.Memory |
memory |
protected Throwable |
releasedHere |
charToString| Constructor and Description |
|---|
NativeBytesStore(long address,
long maximumLimit) |
NativeBytesStore(long address,
long maximumLimit,
@Nullable Runnable deallocator,
boolean elastic) |
| Modifier and Type | Method and Description |
|---|---|
int |
addAndGetInt(long offset,
int adding)
Perform an atomic add and get operation for a 32-bit int
|
long |
addAndGetLong(long offset,
long adding)
Perform an atomic add and get operation for a 64-bit long
|
long |
addressForRead(long offset)
Obtain the underlying addressForRead.
|
default long |
addressForRead(long offset,
int buffer) |
long |
addressForWrite(long offset)
Obtain the underlying addressForRead.
|
long |
addressForWritePosition() |
long |
appendUTF(long pos,
char[] chars,
int offset,
int length)
Deprecated.
|
long |
appendUtf8(long pos,
char[] chars,
int offset,
int length) |
int |
byteCheckSum()
Return the bytes sum of the readable bytes.
|
int |
byteCheckSum(long position,
long limit) |
default ByteOrder |
byteOrder() |
@NotNull VanillaBytes<Underlying> |
bytesForWrite() |
boolean |
canReadDirect(long length) |
long |
capacity() |
void |
checkReleased() |
default boolean |
compareAndSwapDouble(long offset,
double expected,
double value)
Perform a 64-bit double CAS at a given offset.
|
default boolean |
compareAndSwapFloat(long offset,
float expected,
float value)
Perform a 32-bit float CAS at a given offset.
|
boolean |
compareAndSwapInt(long offset,
int expected,
int value)
Perform a 32-bit CAS at a given offset.
|
boolean |
compareAndSwapLong(long offset,
long expected,
long value)
Perform a 64-bit CAS at a given offset.
|
@NotNull BytesStore<NativeBytesStore<Underlying>,Underlying> |
copy() |
long |
copyTo(@NotNull BytesStore store)
Copy the data to another BytesStore as long as there is space available in the destination store.
|
long |
copyToDirect(@NotNull BytesStore store) |
static @NotNull NativeBytesStore<ByteBuffer> |
elasticByteBuffer() |
static @NotNull NativeBytesStore<ByteBuffer> |
elasticByteBuffer(int size,
long maxSize) |
boolean |
equals(Object obj) |
int |
fastHash(long offset,
int length) |
int |
fencedRead(long offset) |
static @NotNull NativeBytesStore |
from(@NotNull byte[] bytes) |
static @NotNull NativeBytesStore |
from(@NotNull String text) |
void |
init(@NotNull ByteBuffer bb,
boolean elastic) |
boolean |
isDirectMemory() |
static @NotNull NativeBytesStore<Void> |
lazyNativeBytesStoreWithFixedCapacity(long capacity) |
void |
move(long from,
long to,
long length) |
void |
nativeRead(long position,
long address,
long size)
expert level method for copying data to native memory.
|
static @NotNull NativeBytesStore<Void> |
nativeStore(long capacity)
this is an elastic native store
|
static @NotNull NativeBytesStore<Void> |
nativeStoreWithFixedCapacity(long capacity) |
void |
nativeWrite(long address,
long position,
long size)
expert level method to copy data from native memory into the BytesStore
|
int |
peekUnsignedByte(long offset)
Read an unsigned byte at an offset, or -1
|
long |
read(long offsetInRDI,
byte[] bytes,
int offset,
int length) |
byte |
readByte(long offset)
Read byte at an offset
|
double |
readDouble(long offset)
Read a double at an offset
|
float |
readFloat(long offset)
Read a float at an offset
|
long |
readIncompleteLong(long offset)
Read a long which is zero padded (high bytes) if the available bytes is less than 8.
|
int |
readInt(long offset)
Read an int at an offset
|
default long |
readLimit() |
long |
readLong(long offset)
Read a long at an offset
|
short |
readShort(long offset)
Read a short at an offset
|
int |
readUnsignedByte(long offset)
Read an unsigned byte at an offset
|
byte |
readVolatileByte(long offset)
Read a 8-bit byte from memory with a load barrier.
|
int |
readVolatileInt(long offset)
Read a 32-bit int from memory with a load barrier.
|
long |
readVolatileLong(long offset)
Read a 64-bit long from memory with a load barrier.
|
short |
readVolatileShort(long offset)
Read a 16-bit short from memory with a load barrier.
|
long |
realCapacity()
Returns the actual capacity that can be potentially read.
|
long |
refCount() |
void |
release() |
void |
reserve() |
long |
safeLimit() |
void |
setAddress(long address) |
boolean |
sharedMemory() |
void |
testAndSetInt(long offset,
int expected,
int value) |
@NotNull String |
toString() |
@NotNull ByteBuffer |
toTemporaryDirectByteBuffer() |
protected long |
translate(long offset) |
boolean |
tryReserve() |
Underlying |
underlyingObject() |
void |
uninit() |
static <T> @NotNull NativeBytesStore<T> |
uninitialized() |
static @NotNull NativeBytesStore<ByteBuffer> |
wrap(@NotNull ByteBuffer bb)
Wraps a ByteBuffer which can be either on heap or off heap.
|
@NotNull NativeBytesStore<Underlying> |
write(long offsetInRDO,
byte[] bytes,
int offset,
int length) |
void |
write(long offsetInRDO,
@NotNull ByteBuffer bytes,
int offset,
int length) |
@NotNull NativeBytesStore<Underlying> |
write(long writeOffset,
@NotNull RandomDataInput bytes,
long readOffset,
long length) |
void |
write0(long offsetInRDO,
@NotNull RandomDataInput bytes,
long offset,
long length) |
@NotNull NativeBytesStore<Underlying> |
writeByte(long offset,
byte i8)
Write an unsigned byte at an offset.
|
@NotNull NativeBytesStore<Underlying> |
writeDouble(long offset,
double d)
Write a double at an offset.
|
@NotNull NativeBytesStore<Underlying> |
writeFloat(long offset,
float f)
Write a float at an offset.
|
@NotNull NativeBytesStore<Underlying> |
writeInt(long offset,
int i32)
Write an int at an offset.
|
default long |
writeLimit() |
@NotNull NativeBytesStore<Underlying> |
writeLong(long offset,
long i64)
Write a long at an offset.
|
@NotNull NativeBytesStore<Underlying> |
writeOrderedInt(long offset,
int i)
Perform a non stalling write with a store barrier.
|
@NotNull NativeBytesStore<Underlying> |
writeOrderedLong(long offset,
long i)
Perform a non stalling write with a store barrier.
|
default long |
writePosition()
The read position must be readPosition() <= writePosition() && writePosition() <= writeLimit()
|
default long |
writeRemaining() |
@NotNull NativeBytesStore<Underlying> |
writeShort(long offset,
short i16)
Write a short at an offset.
|
@NotNull NativeBytesStore<Underlying> |
writeVolatileByte(long offset,
byte i8) |
@NotNull NativeBytesStore<Underlying> |
writeVolatileInt(long offset,
int i32) |
@NotNull NativeBytesStore<Underlying> |
writeVolatileLong(long offset,
long i64) |
@NotNull NativeBytesStore<Underlying> |
writeVolatileShort(long offset,
short i16) |
@NotNull NativeBytesStore<Underlying> |
zeroOut(long start,
long end)
Fill the BytesStore with zeros
|
hashCode, readPosition, readRemaining, startclone, finalize, getClass, notify, notifyAll, wait, wait, waitaddAndGetByteNotAtomic, addAndGetDoubleNotAtomic, addAndGetFloatNotAtomic, addAndGetIntNotAtomic, addAndGetLongNotAtomic, addAndGetShortNotAtomic, addAndGetUnsignedByteNotAtomic, addAndGetUnsignedIntNotAtomic, addAndGetUnsignedShortNotAtomic, bytesForRead, bytesStore, charAt, checkRefCount, cipher, cipher, contentEquals, copyTo, empty, endsWith, equalBytes, from, inside, inside, isClear, isEmpty, isPresent, isPresent, length, longCheckSum, nativePointer, readWrite, startsWith, startsWith, subSequence, to8bitString, toDebugString, toDebugString, wrap, wrap, writeMaxLongaddAndGetDouble, addAndGetFloat, compareUtf8, copyTo, copyTo, createCharToString, findByte, parseLong, peekVolatileInt, printable, readBoolean, readUnsignedInt, readUnsignedInt24, readUnsignedShort, readUtf8, readUtf8Limited, readUtf8Limited, readVolatileDouble, readVolatileFloat, subBytes, toByteArrayappend, append, write, write, writeBoolean, writeByte, writeInt24, writeOrderedDouble, writeOrderedFloat, writeUnsignedByte, writeUnsignedInt, writeUnsignedShort, writeUtf8, writeUtf8Limited, writeVolatileDouble, writeVolatileFloatchars, codePointsprotected long address
protected net.openhft.chronicle.core.Memory memory
protected volatile Throwable releasedHere
protected long maximumLimit
public NativeBytesStore(long address,
long maximumLimit)
public NativeBytesStore(long address,
long maximumLimit,
@Nullable
@Nullable Runnable deallocator,
boolean elastic)
@NotNull public static @NotNull NativeBytesStore<ByteBuffer> wrap(@NotNull @NotNull ByteBuffer bb)
BytesStorebb - to wrap@NotNull public static <T> @NotNull NativeBytesStore<T> uninitialized()
@NotNull public static @NotNull NativeBytesStore<Void> nativeStore(long capacity) throws IllegalArgumentException
capacity - of the buffer.IllegalArgumentException@NotNull public static @NotNull NativeBytesStore<Void> nativeStoreWithFixedCapacity(long capacity) throws IllegalArgumentException
IllegalArgumentException@NotNull public static @NotNull NativeBytesStore<Void> lazyNativeBytesStoreWithFixedCapacity(long capacity) throws IllegalArgumentException
IllegalArgumentException@NotNull public static @NotNull NativeBytesStore<ByteBuffer> elasticByteBuffer()
@NotNull public static @NotNull NativeBytesStore<ByteBuffer> elasticByteBuffer(int size, long maxSize)
@NotNull public static @NotNull NativeBytesStore from(@NotNull @NotNull String text)
@NotNull public static @NotNull NativeBytesStore from(@NotNull @NotNull byte[] bytes)
public boolean isDirectMemory()
public boolean canReadDirect(long length)
public void init(@NotNull
@NotNull ByteBuffer bb,
boolean elastic)
public void uninit()
public void move(long from,
long to,
long length)
throws BufferUnderflowException
BufferUnderflowException@NotNull public @NotNull BytesStore<NativeBytesStore<Underlying>,Underlying> copy()
@NotNull public @NotNull VanillaBytes<Underlying> bytesForWrite() throws IllegalStateException
IllegalStateExceptionpublic long realCapacity()
RandomDataInputpublic long capacity()
@Nullable public Underlying underlyingObject()
@NotNull public @NotNull NativeBytesStore<Underlying> zeroOut(long start, long end)
BytesStorestart - first byte inclusiveend - last byte exclusive.public boolean compareAndSwapInt(long offset,
int expected,
int value)
offset - to perform CASexpected - valuevalue - to setpublic void testAndSetInt(long offset,
int expected,
int value)
public boolean compareAndSwapLong(long offset,
long expected,
long value)
offset - to perform CASexpected - valuevalue - to setpublic long addAndGetLong(long offset,
long adding)
throws BufferUnderflowException
RandomDataInputoffset - to add and getadding - value to add, can be 1BufferUnderflowException - if the offset is outside the limits of the Bytespublic int addAndGetInt(long offset,
int adding)
throws BufferUnderflowException
RandomDataInputoffset - to add and getadding - value to add, can be 1BufferUnderflowException - if the offset is outside the limits of the Bytesprotected long translate(long offset)
public void reserve()
throws IllegalStateException
IllegalStateExceptionpublic void release()
throws IllegalStateException
IllegalStateExceptionpublic long refCount()
public boolean tryReserve()
public byte readByte(long offset)
RandomDataInputoffset - to readpublic int readUnsignedByte(long offset)
throws BufferUnderflowException
RandomDataInputoffset - to readBufferUnderflowException - if the offset is outside the limits of the Bytespublic void checkReleased()
public short readShort(long offset)
RandomDataInputoffset - to readpublic int readInt(long offset)
RandomDataInputoffset - to readpublic long readLong(long offset)
RandomDataInputoffset - to readpublic float readFloat(long offset)
RandomDataInputoffset - to readpublic double readDouble(long offset)
RandomDataInputoffset - to readpublic byte readVolatileByte(long offset)
RandomDataInputoffset - to readpublic short readVolatileShort(long offset)
RandomDataInputoffset - to readpublic int readVolatileInt(long offset)
RandomDataInputoffset - to readpublic int fencedRead(long offset)
public long readVolatileLong(long offset)
RandomDataInputoffset - to read@NotNull public @NotNull NativeBytesStore<Underlying> writeByte(long offset, byte i8)
RandomDataOutputoffset - to write toi8 - the value@NotNull public @NotNull NativeBytesStore<Underlying> writeShort(long offset, short i16)
RandomDataOutputoffset - to write toi16 - the value@NotNull public @NotNull NativeBytesStore<Underlying> writeInt(long offset, int i32)
RandomDataOutputoffset - to write toi32 - the value@NotNull public @NotNull NativeBytesStore<Underlying> writeOrderedInt(long offset, int i)
RandomDataOutputoffset - to write toi - value to write@NotNull public @NotNull NativeBytesStore<Underlying> writeLong(long offset, long i64)
RandomDataOutputoffset - to write toi64 - the value@NotNull public @NotNull NativeBytesStore<Underlying> writeOrderedLong(long offset, long i)
RandomDataOutputoffset - to write toi - value to write@NotNull public @NotNull NativeBytesStore<Underlying> writeFloat(long offset, float f)
RandomDataOutputoffset - to write tof - the value@NotNull public @NotNull NativeBytesStore<Underlying> writeDouble(long offset, double d)
RandomDataOutputoffset - to write tod - the value@NotNull public @NotNull NativeBytesStore<Underlying> writeVolatileByte(long offset, byte i8)
@NotNull public @NotNull NativeBytesStore<Underlying> writeVolatileShort(long offset, short i16)
@NotNull public @NotNull NativeBytesStore<Underlying> writeVolatileInt(long offset, int i32)
@NotNull public @NotNull NativeBytesStore<Underlying> writeVolatileLong(long offset, long i64)
@NotNull public @NotNull NativeBytesStore<Underlying> write(long offsetInRDO, byte[] bytes, int offset, int length)
public void write(long offsetInRDO,
@NotNull
@NotNull ByteBuffer bytes,
int offset,
int length)
@NotNull public @NotNull NativeBytesStore<Underlying> write(long writeOffset, @NotNull @NotNull RandomDataInput bytes, long readOffset, long length) throws BufferOverflowException, BufferUnderflowException
public void write0(long offsetInRDO,
@NotNull
@NotNull RandomDataInput bytes,
long offset,
long length)
throws BufferUnderflowException
BufferUnderflowExceptionpublic long addressForRead(long offset)
throws BufferUnderflowException
offset - within this buffer. addressForRead(start()) is the actual addressForRead of the first byte.BufferUnderflowException - if the offset is before the start() or the after the capacity()public long addressForWrite(long offset)
throws BufferOverflowException
offset - within this buffer. addressForRead(start()) is the actual addressForRead of the first byte.BufferOverflowException - if the offset is before the start() or the after the capacity()public long addressForWritePosition()
throws UnsupportedOperationException,
BufferOverflowException
@NotNull public @NotNull String toString()
toString in interface CharSequencetoString in class Objectpublic void nativeRead(long position,
long address,
long size)
throws BufferUnderflowException
RandomDataInputposition - within the ByteStore to copy.address - in native memorysize - in bytesBufferUnderflowException - if the offset is outside the limits of the Bytespublic void nativeWrite(long address,
long position,
long size)
throws BufferOverflowException
RandomDataOutputaddress - in native memory to copy fromposition - in BytesStore to copy tosize - in bytesBufferOverflowExceptionpublic long readIncompleteLong(long offset)
RandomDataInputoffset - to read frompublic void setAddress(long address)
@Deprecated public long appendUTF(long pos, char[] chars, int offset, int length) throws BufferOverflowException
BufferOverflowExceptionpublic long appendUtf8(long pos,
char[] chars,
int offset,
int length)
throws BufferOverflowException
BufferOverflowExceptionpublic long copyTo(@NotNull
@NotNull BytesStore store)
BytesStorestore - to copy topublic long copyToDirect(@NotNull
@NotNull BytesStore store)
@NotNull public @NotNull ByteBuffer toTemporaryDirectByteBuffer()
public int byteCheckSum()
throws net.openhft.chronicle.core.io.IORuntimeException
BytesStorenet.openhft.chronicle.core.io.IORuntimeExceptionpublic int byteCheckSum(long position,
long limit)
public boolean sharedMemory()
public long read(long offsetInRDI,
byte[] bytes,
int offset,
int length)
public int peekUnsignedByte(long offset)
RandomDataInputpeekUnsignedByte in interface RandomDataInputpeekUnsignedByte in class AbstractBytesStore<NativeBytesStore<Underlying>,Underlying>offset - to readpublic int fastHash(long offset,
int length)
throws BufferUnderflowException
BufferUnderflowExceptionpublic long safeLimit()
public long writePosition()
public long writeRemaining()
public long readLimit()
public long writeLimit()
public long addressForRead(long offset,
int buffer)
throws UnsupportedOperationException,
BufferUnderflowException
public ByteOrder byteOrder()
public boolean compareAndSwapFloat(long offset,
float expected,
float value)
throws BufferOverflowException
offset - to perform CASexpected - valuevalue - to setBufferOverflowExceptionpublic boolean compareAndSwapDouble(long offset,
double expected,
double value)
throws BufferOverflowException
offset - to perform CASexpected - valuevalue - to setBufferOverflowExceptionCopyright © 2020. All rights reserved.