public interface RandomDataOutput<R extends RandomDataOutput<R>>
Modifier and Type | Method and Description |
---|---|
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() |
default R |
append(long offset,
double value,
int decimalPlaces,
int digits) |
default R |
append(long offset,
long value,
int digits) |
default ByteOrder |
byteOrder() |
@NotNull Bytes |
bytesForRead() |
@NotNull Bytes |
bytesForWrite() |
default long |
capacity() |
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.
|
boolean |
isDirectMemory() |
void |
nativeWrite(long address,
long position,
long size)
expert level method to copy data from native memory into the BytesStore
|
default long |
readLimit() |
default long |
readPosition()
The read position must be start() <= readPosition() && readPosition() <= readLimit() && readPosition < safeLimit()
|
default long |
readRemaining() |
default long |
realCapacity() |
boolean |
sharedMemory() |
default long |
start() |
void |
testAndSetInt(long offset,
int expected,
int value) |
default R |
write(long offsetInRDO,
@NotNull byte[] bytes) |
R |
write(long offsetInRDO,
byte[] bytes,
int offset,
int length) |
void |
write(long offsetInRDO,
ByteBuffer bytes,
int offset,
int length) |
default R |
write(long offsetInRDO,
@NotNull BytesStore bytes) |
R |
write(long writeOffset,
RandomDataInput bytes,
long readOffset,
long length) |
default R |
writeBoolean(long offset,
boolean flag)
Write a boolean at an offset.
|
R |
writeByte(long offset,
byte i8)
Write an unsigned byte at an offset.
|
default R |
writeByte(long offset,
int i)
Write a byte at an offset.
|
R |
writeDouble(long offset,
double d)
Write a double at an offset.
|
R |
writeFloat(long offset,
float d)
Write a float at an offset.
|
R |
writeInt(long offset,
int i)
Write an int at an offset.
|
default R |
writeInt24(long offset,
int i) |
default long |
writeLimit() |
R |
writeLong(long offset,
long i)
Write a long at an offset.
|
default R |
writeOrderedDouble(long offset,
double d)
Perform a non stalling write with a store barrier.
|
default R |
writeOrderedFloat(long offset,
float f)
Perform a non stalling write with a store barrier.
|
R |
writeOrderedInt(long offset,
int i)
Perform a non stalling write with a store barrier.
|
R |
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() |
R |
writeShort(long offset,
short i)
Write a short at an offset.
|
default R |
writeUnsignedByte(long offset,
int i)
Write an unsigned byte at an offset.
|
default R |
writeUnsignedInt(long offset,
long i)
Write an unsigned byte at an offset.
|
default R |
writeUnsignedShort(long offset,
int i)
Write an unsigned byte at an offset.
|
default long |
writeUtf8(long offset,
@Nullable CharSequence cs)
Writes the given
cs to this RandomDataOutput from the given offset ,
in Utf8 format. |
default long |
writeUtf8Limited(long offset,
@Nullable CharSequence cs,
int maxUtf8Len)
Writes the given
cs to this RandomDataOutput from the given offset ,
in Utf8 format, checking that the utf8 encoding size of the given char sequence is less or
equal to the given maxUtf8Len , otherwise IllegalArgumentException is thrown,
and no bytes of this RandomDataOutput are overwritten. |
R |
writeVolatileByte(long offset,
byte i8) |
default R |
writeVolatileDouble(long offset,
double d) |
default R |
writeVolatileFloat(long offset,
float f) |
R |
writeVolatileInt(long offset,
int i32) |
R |
writeVolatileLong(long offset,
long i64) |
R |
writeVolatileShort(long offset,
short i16) |
R |
zeroOut(long start,
long end)
Zero out the bytes between the start and the end.
|
@NotNull default R writeByte(long offset, int i) throws BufferOverflowException, IllegalArgumentException
offset
- to write toi
- the valueBufferOverflowException
- if the capacity was exceededIllegalArgumentException
- if the value cannot be cast to the type without loss.@NotNull default R writeUnsignedByte(long offset, int i) throws BufferOverflowException, IllegalArgumentException
offset
- to write toi
- the valueBufferOverflowException
- if the capacity was exceededIllegalArgumentException
- if the value cannot be cast to the type without loss.@NotNull default R writeBoolean(long offset, boolean flag) throws BufferOverflowException
offset
- to write toflag
- the valueBufferOverflowException
- if the capacity was exceeded@NotNull default R writeUnsignedShort(long offset, int i) throws BufferOverflowException, IllegalArgumentException
offset
- to write toi
- the valueBufferOverflowException
- if the capacity was exceededIllegalArgumentException
- if the value cannot be cast to the type without loss.@NotNull default R writeUnsignedInt(long offset, long i) throws BufferOverflowException, IllegalArgumentException
offset
- to write toi
- the valueBufferOverflowException
- if the capacity was exceededIllegalArgumentException
- if the value cannot be cast to the type without loss.@NotNull R writeByte(long offset, byte i8) throws BufferOverflowException
offset
- to write toi8
- the valueBufferOverflowException
- if the capacity was exceeded@NotNull R writeShort(long offset, short i) throws BufferOverflowException
offset
- to write toi
- the valueBufferOverflowException
- if the capacity was exceeded@NotNull default R writeInt24(long offset, int i) throws BufferOverflowException
BufferOverflowException
@NotNull R writeInt(long offset, int i) throws BufferOverflowException
offset
- to write toi
- the valueBufferOverflowException
- if the capacity was exceeded@NotNull R writeOrderedInt(long offset, int i) throws BufferOverflowException
offset
- to write toi
- value to writeBufferOverflowException
- if the capacity was exceeded@NotNull default R writeOrderedFloat(long offset, float f) throws BufferOverflowException
offset
- to write tof
- value to writeBufferOverflowException
- if the capacity was exceeded@NotNull R writeLong(long offset, long i) throws BufferOverflowException, IllegalStateException
offset
- to write toi
- the valueBufferOverflowException
- if the capacity was exceededIllegalStateException
@NotNull R writeOrderedLong(long offset, long i) throws BufferOverflowException
offset
- to write toi
- value to writeBufferOverflowException
@NotNull default R writeOrderedDouble(long offset, double d) throws BufferOverflowException
offset
- to write tod
- value to writeBufferOverflowException
@NotNull R writeFloat(long offset, float d) throws BufferOverflowException
offset
- to write tod
- the valueBufferOverflowException
- if the capacity was exceeded@NotNull R writeDouble(long offset, double d) throws BufferOverflowException
offset
- to write tod
- the valueBufferOverflowException
- if the capacity was exceeded@NotNull R writeVolatileByte(long offset, byte i8) throws BufferOverflowException
BufferOverflowException
@NotNull R writeVolatileShort(long offset, short i16) throws BufferOverflowException
BufferOverflowException
@NotNull R writeVolatileInt(long offset, int i32) throws BufferOverflowException
BufferOverflowException
@NotNull R writeVolatileLong(long offset, long i64) throws BufferOverflowException
BufferOverflowException
@NotNull default R writeVolatileFloat(long offset, float f) throws BufferOverflowException
BufferOverflowException
@NotNull default R writeVolatileDouble(long offset, double d) throws BufferOverflowException
BufferOverflowException
@NotNull default R write(long offsetInRDO, @NotNull @NotNull byte[] bytes) throws BufferOverflowException
BufferOverflowException
@NotNull R write(long offsetInRDO, byte[] bytes, int offset, int length) throws BufferOverflowException
BufferOverflowException
void write(long offsetInRDO, ByteBuffer bytes, int offset, int length) throws BufferOverflowException
BufferOverflowException
@NotNull default R write(long offsetInRDO, @NotNull @NotNull BytesStore bytes) throws BufferOverflowException
BufferOverflowException
@NotNull R write(long writeOffset, RandomDataInput bytes, long readOffset, long length) throws BufferOverflowException, BufferUnderflowException
@NotNull R zeroOut(long start, long end)
start
- index of first byte inclusiveend
- index of last byte exclusiveBufferOverflowException
- if the capacity was exceeded@NotNull default R append(long offset, long value, int digits) throws BufferOverflowException
BufferOverflowException
@NotNull default R append(long offset, double value, int decimalPlaces, int digits) throws BufferOverflowException
BufferOverflowException
void nativeWrite(long address, long position, long size) throws BufferOverflowException
address
- in native memory to copy fromposition
- in BytesStore to copy tosize
- in bytesBufferOverflowException
default long writeUtf8(long offset, @Nullable @Nullable CharSequence cs) throws BufferOverflowException
cs
to this RandomDataOutput
from the given offset
,
in Utf8 format. Returns the offset after the written char sequence.offset
- the offset to write char sequence fromcs
- the char sequence to write, could be null
RandomDataOutput
BufferOverflowException
RandomDataInput.readUtf8(long, Appendable)
default long writeUtf8Limited(long offset, @Nullable @Nullable CharSequence cs, int maxUtf8Len) throws BufferOverflowException
cs
to this RandomDataOutput
from the given offset
,
in Utf8 format, checking that the utf8 encoding size of the given char sequence is less or
equal to the given maxUtf8Len
, otherwise IllegalArgumentException
is thrown,
and no bytes of this RandomDataOutput
are overwritten. Returns the offset after the
written char sequence.offset
- the offset to write char sequence fromcs
- the char sequence to write, could be null
maxUtf8Len
- the maximum allowed length (in Utf8 encoding) of the given char sequenceRandomDataOutput
IllegalArgumentException
- if the given char sequence size in Utf8 encoding exceeds
maxUtf8LenBufferOverflowException
RandomDataInput.readUtf8Limited(long, Appendable, int)
,
RandomDataInput.readUtf8Limited(long, int)
default long start()
default long capacity()
default long realCapacity()
default long readPosition()
default long writePosition()
default long readRemaining()
default long writeRemaining()
default long readLimit()
default long writeLimit()
long addressForRead(long offset) throws UnsupportedOperationException, BufferUnderflowException
offset
- within this buffer. addressForRead(start()) is the actual addressForRead of the first byte.UnsupportedOperationException
- if the underlying buffer is on the heapBufferUnderflowException
- if the offset is before the start() or the after the capacity()default long addressForRead(long offset, int buffer) throws UnsupportedOperationException, BufferUnderflowException
long addressForWrite(long offset) throws UnsupportedOperationException, BufferOverflowException
offset
- within this buffer. addressForRead(start()) is the actual addressForRead of the first byte.UnsupportedOperationException
- if the underlying buffer is on the heapBufferOverflowException
- if the offset is before the start() or the after the capacity()long addressForWritePosition() throws UnsupportedOperationException, BufferOverflowException
default ByteOrder byteOrder()
@NotNull @NotNull Bytes bytesForRead() throws IllegalStateException
IllegalStateException
@NotNull @NotNull Bytes bytesForWrite() throws IllegalStateException
IllegalStateException
boolean compareAndSwapInt(long offset, int expected, int value) throws BufferOverflowException
offset
- to perform CASexpected
- valuevalue
- to setBufferOverflowException
void testAndSetInt(long offset, int expected, int value)
boolean compareAndSwapLong(long offset, long expected, long value) throws BufferOverflowException
offset
- to perform CASexpected
- valuevalue
- to setBufferOverflowException
default boolean compareAndSwapFloat(long offset, float expected, float value) throws BufferOverflowException
offset
- to perform CASexpected
- valuevalue
- to setBufferOverflowException
default boolean compareAndSwapDouble(long offset, double expected, double value) throws BufferOverflowException
offset
- to perform CASexpected
- valuevalue
- to setBufferOverflowException
boolean sharedMemory()
boolean isDirectMemory()
Copyright © 2020. All rights reserved.