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 Error |
releasedHere |
charToString
Constructor and Description |
---|
NativeBytesStore(long address,
long maximumLimit) |
NativeBytesStore(long address,
long maximumLimit,
Runnable deallocator,
boolean elastic) |
Modifier and Type | Method and Description |
---|---|
long |
address(long offset)
Obtain the underlying address.
|
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() |
VanillaBytes<Underlying> |
bytesForWrite() |
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.
|
BytesStore<NativeBytesStore<Underlying>,Underlying> |
copy() |
long |
copyTo(BytesStore store)
Copy the data to another BytesStore as long as there is space available in the destination store.
|
long |
copyTo(NativeBytesStore store) |
static NativeBytesStore<ByteBuffer> |
elasticByteBuffer() |
static NativeBytesStore<ByteBuffer> |
elasticByteBuffer(int size,
long maxSize) |
boolean |
equals(Object obj) |
void |
init(ByteBuffer bb,
boolean elastic) |
static 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 NativeBytesStore<Void> |
nativeStore(long capacity)
this is an elastic native store
|
static 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
|
default long |
readPosition()
The read position must be start() <= readPosition() && readPosition() <= readLimit() && readPosition < safeLimit()
|
default long |
readRemaining() |
short |
readShort(long offset)
Read a short 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() |
long |
refCount() |
void |
release() |
void |
reserve() |
void |
setAddress(long address) |
boolean |
sharedMemory() |
long |
start() |
String |
toString() |
ByteBuffer |
toTemporaryDirectByteBuffer() |
Underlying |
underlyingObject() |
void |
uninit() |
static <T> NativeBytesStore<T> |
uninitialized() |
static NativeBytesStore<ByteBuffer> |
wrap(ByteBuffer bb)
Wraps a ByteBuffer which can be either on heap or off heap.
|
NativeBytesStore<Underlying> |
write(long offsetInRDO,
byte[] bytes,
int offset,
int length) |
void |
write(long offsetInRDO,
ByteBuffer bytes,
int offset,
int length) |
NativeBytesStore<Underlying> |
write(long offsetInRDO,
RandomDataInput bytes,
long offset,
long length) |
void |
write0(long offsetInRDO,
RandomDataInput bytes,
long offset,
long length) |
NativeBytesStore<Underlying> |
writeByte(long offset,
byte i8)
Write an unsigned byte at an offset.
|
NativeBytesStore<Underlying> |
writeDouble(long offset,
double d)
Write a double at an offset.
|
NativeBytesStore<Underlying> |
writeFloat(long offset,
float f)
Write a float at an offset.
|
NativeBytesStore<Underlying> |
writeInt(long offset,
int i32)
Write an int at an offset.
|
default long |
writeLimit() |
NativeBytesStore<Underlying> |
writeLong(long offset,
long i64)
Write a long at an offset.
|
NativeBytesStore<Underlying> |
writeOrderedInt(long offset,
int i)
Perform a non stalling write with a store barrier.
|
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() |
NativeBytesStore<Underlying> |
writeShort(long offset,
short i16)
Write a short at an offset.
|
NativeBytesStore<Underlying> |
writeVolatileByte(long offset,
byte i8) |
NativeBytesStore<Underlying> |
writeVolatileInt(long offset,
int i32) |
NativeBytesStore<Underlying> |
writeVolatileLong(long offset,
long i64) |
NativeBytesStore<Underlying> |
writeVolatileShort(long offset,
short i16) |
NativeBytesStore<Underlying> |
zeroOut(long start,
long end)
Fill the BytesStore with zeros
|
hashCode
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
addAndGetByteNotAtomic, addAndGetDoubleNotAtomic, addAndGetFloatNotAtomic, addAndGetIntNotAtomic, addAndGetLongNotAtomic, addAndGetShortNotAtomic, addAndGetUnsignedByteNotAtomic, addAndGetUnsignedIntNotAtomic, addAndGetUnsignedShortNotAtomic, bytesForRead, bytesStore, charAt, contentEquals, copyTo, empty, endsWith, equalBytes, from, inside, isClear, isEmpty, isNative, isPresent, isPresent, length, longCheckSum, nativePointer, safeLimit, startsWith, startsWith, subSequence, to8bitString, toDebugString, toDebugString, wrap, wrap, wrap, writeMaxLong
addAndGetDouble, addAndGetFloat, addAndGetInt, addAndGetLong, compareUtf8, copyTo, copyTo, createCharToString, fastHash, findByte, parseLong, printable, readBoolean, readUnsignedByte, readUnsignedInt, readUnsignedInt24, readUnsignedShort, readUtf8, readUtf8Limited, readUtf8Limited, readVolatileDouble, readVolatileFloat, subBytes, toByteArray
append, append, write, write, writeBoolean, writeByte, writeInt24, writeOrderedDouble, writeOrderedFloat, writeUnsignedByte, writeUnsignedInt, writeUnsignedShort, writeUtf8, writeUtf8Limited, writeVolatileDouble, writeVolatileFloat
close, release, releaseAll, tryReserve
closeQuietly, isClosed, notifyClosing
chars, codePoints
protected long address
@Nullable protected net.openhft.chronicle.core.Memory memory
protected volatile Error releasedHere
protected long maximumLimit
public NativeBytesStore(long address, long maximumLimit)
public NativeBytesStore(long address, long maximumLimit, @Nullable Runnable deallocator, boolean elastic)
@NotNull public static NativeBytesStore<ByteBuffer> wrap(@NotNull ByteBuffer bb)
BytesStore
bb
- to wrap@NotNull public static <T> NativeBytesStore<T> uninitialized()
@NotNull public static NativeBytesStore<Void> nativeStore(long capacity) throws IllegalArgumentException
capacity
- of the buffer.IllegalArgumentException
@NotNull public static NativeBytesStore<Void> nativeStoreWithFixedCapacity(long capacity) throws IllegalArgumentException
IllegalArgumentException
@NotNull public static NativeBytesStore<Void> lazyNativeBytesStoreWithFixedCapacity(long capacity) throws IllegalArgumentException
IllegalArgumentException
@NotNull public static NativeBytesStore<ByteBuffer> elasticByteBuffer()
@NotNull public static NativeBytesStore<ByteBuffer> elasticByteBuffer(int size, long maxSize)
public void init(@NotNull ByteBuffer bb, boolean elastic)
public void uninit()
public void move(long from, long to, long length)
@NotNull public BytesStore<NativeBytesStore<Underlying>,Underlying> copy() throws IllegalStateException
IllegalStateException
public VanillaBytes<Underlying> bytesForWrite() throws IllegalStateException
IllegalStateException
public long realCapacity()
public long capacity()
@Nullable public Underlying underlyingObject()
@NotNull public NativeBytesStore<Underlying> zeroOut(long start, long end) throws IllegalArgumentException
BytesStore
start
- first byte inclusiveend
- last byte exclusive.IllegalArgumentException
public boolean compareAndSwapInt(long offset, int expected, int value)
offset
- to perform CASexpected
- valuevalue
- to setpublic boolean compareAndSwapLong(long offset, long expected, long value)
offset
- to perform CASexpected
- valuevalue
- to setpublic long start()
public void reserve() throws IllegalStateException
IllegalStateException
public void release() throws IllegalStateException
IllegalStateException
public long refCount()
public byte readByte(long offset)
RandomDataInput
offset
- to readpublic void checkReleased()
public short readShort(long offset)
RandomDataInput
offset
- to readpublic int readInt(long offset)
RandomDataInput
offset
- to readpublic long readLong(long offset)
RandomDataInput
offset
- to readpublic float readFloat(long offset)
RandomDataInput
offset
- to readpublic double readDouble(long offset)
RandomDataInput
offset
- to readpublic byte readVolatileByte(long offset)
RandomDataInput
offset
- to readpublic short readVolatileShort(long offset)
RandomDataInput
offset
- to readpublic int readVolatileInt(long offset)
RandomDataInput
offset
- to readpublic long readVolatileLong(long offset)
RandomDataInput
offset
- to read@NotNull public NativeBytesStore<Underlying> writeByte(long offset, byte i8)
RandomDataOutput
offset
- to write toi8
- the value@NotNull public NativeBytesStore<Underlying> writeShort(long offset, short i16)
RandomDataOutput
offset
- to write toi16
- the value@NotNull public NativeBytesStore<Underlying> writeInt(long offset, int i32)
RandomDataOutput
offset
- to write toi32
- the value@NotNull public NativeBytesStore<Underlying> writeOrderedInt(long offset, int i)
RandomDataOutput
offset
- to write toi
- value to write@NotNull public NativeBytesStore<Underlying> writeLong(long offset, long i64)
RandomDataOutput
offset
- to write toi64
- the value@NotNull public NativeBytesStore<Underlying> writeOrderedLong(long offset, long i)
RandomDataOutput
offset
- to write toi
- value to write@NotNull public NativeBytesStore<Underlying> writeFloat(long offset, float f)
RandomDataOutput
offset
- to write tof
- the value@NotNull public NativeBytesStore<Underlying> writeDouble(long offset, double d)
RandomDataOutput
offset
- to write tod
- the value@NotNull public NativeBytesStore<Underlying> writeVolatileByte(long offset, byte i8)
@NotNull public NativeBytesStore<Underlying> writeVolatileShort(long offset, short i16)
@NotNull public NativeBytesStore<Underlying> writeVolatileInt(long offset, int i32)
@NotNull public NativeBytesStore<Underlying> writeVolatileLong(long offset, long i64)
@NotNull public NativeBytesStore<Underlying> write(long offsetInRDO, byte[] bytes, int offset, int length)
public void write(long offsetInRDO, @NotNull ByteBuffer bytes, int offset, int length)
@NotNull public NativeBytesStore<Underlying> write(long offsetInRDO, @NotNull RandomDataInput bytes, long offset, long length) throws BufferOverflowException, BufferUnderflowException
public void write0(long offsetInRDO, @NotNull RandomDataInput bytes, long offset, long length)
public long address(long offset) throws UnsupportedOperationException
offset
- within this buffer. address(start()) is the actual address of the first byte.UnsupportedOperationException
- if the underlying buffer is on the heap@NotNull public String toString()
toString
in interface CharSequence
toString
in class Object
public void nativeRead(long position, long address, long size)
RandomDataInput
position
- within the ByteStore to copy.address
- in native memorysize
- in bytespublic void nativeWrite(long address, long position, long size)
RandomDataOutput
address
- in native memory to copy fromposition
- in BytesStore to copy tosize
- in bytespublic long readIncompleteLong(long offset)
RandomDataInput
offset
- to read frompublic void setAddress(long address)
@Deprecated public long appendUTF(long pos, char[] chars, int offset, int length)
public long appendUtf8(long pos, char[] chars, int offset, int length)
public long copyTo(@NotNull BytesStore store) throws IllegalStateException
BytesStore
store
- to copy toIllegalStateException
public long copyTo(NativeBytesStore store)
public ByteBuffer toTemporaryDirectByteBuffer()
public int byteCheckSum() throws net.openhft.chronicle.core.io.IORuntimeException
BytesStore
net.openhft.chronicle.core.io.IORuntimeException
public 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)
RandomDataInput
peekUnsignedByte
in interface RandomDataInput
peekUnsignedByte
in class AbstractBytesStore<NativeBytesStore<Underlying>,Underlying>
offset
- to readpublic long readPosition()
public long writePosition()
public long readRemaining()
public long writeRemaining()
public long readLimit()
public long writeLimit()
public ByteOrder byteOrder()
public boolean compareAndSwapFloat(long offset, float expected, float value) throws BufferOverflowException, IllegalArgumentException
offset
- to perform CASexpected
- valuevalue
- to setBufferOverflowException
IllegalArgumentException
public boolean compareAndSwapDouble(long offset, double expected, double value) throws BufferOverflowException, IllegalArgumentException
offset
- to perform CASexpected
- valuevalue
- to setBufferOverflowException
IllegalArgumentException
Copyright © 2016. All rights reserved.