public interface RandomDataOutput<R extends RandomDataOutput<R>>
Modifier and Type | Method and Description |
---|---|
long |
address(long offset)
Obtain the underlying address.
|
default R |
append(long offset,
double value,
int decimalPlaces,
int digits) |
default R |
append(long offset,
long value,
int digits) |
default ByteOrder |
byteOrder() |
Bytes |
bytesForRead() |
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() |
boolean |
sharedMemory() |
default long |
start() |
default R |
write(long offsetInRDO,
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,
BytesStore bytes) |
R |
write(long offsetInRDO,
RandomDataInput bytes,
long offset,
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,
CharSequence cs)
Writes the given
cs to this RandomDataOutput from the given offset ,
in Utf8 format. |
default long |
writeUtf8Limited(long offset,
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
offset
- to write toi
- the valueBufferOverflowException
- if the capacity was exceeded@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 exceededR writeVolatileByte(long offset, byte i8) throws BufferOverflowException
BufferOverflowException
R writeVolatileShort(long offset, short i16) throws BufferOverflowException
BufferOverflowException
R writeVolatileInt(long offset, int i32) throws BufferOverflowException
BufferOverflowException
R writeVolatileLong(long offset, long i64) throws BufferOverflowException
BufferOverflowException
default R writeVolatileFloat(long offset, float f) throws BufferOverflowException
BufferOverflowException
default R writeVolatileDouble(long offset, double d) throws BufferOverflowException
BufferOverflowException
@NotNull default R write(long offsetInRDO, @NotNull byte[] bytes) throws BufferOverflowException
BufferOverflowException
@NotNull R write(long offsetInRDO, byte[] bytes, int offset, int length) throws BufferOverflowException, IllegalArgumentException
void write(long offsetInRDO, ByteBuffer bytes, int offset, int length) throws BufferOverflowException, IllegalArgumentException
@NotNull default R write(long offsetInRDO, @NotNull BytesStore bytes) throws BufferOverflowException
BufferOverflowException
@NotNull R write(long offsetInRDO, RandomDataInput bytes, long offset, long length) throws BufferOverflowException, IllegalArgumentException, BufferUnderflowException
@NotNull R zeroOut(long start, long end) throws IllegalArgumentException
start
- index of first byte inclusiveend
- index of last byte exclusiveBufferOverflowException
- if the capacity was exceededIllegalArgumentException
@NotNull default R append(long offset, long value, int digits) throws BufferOverflowException, IllegalArgumentException
@NotNull default R append(long offset, double value, int decimalPlaces, int digits) throws BufferOverflowException, IllegalArgumentException
void nativeWrite(long address, long position, long size)
address
- in native memory to copy fromposition
- in BytesStore to copy tosize
- in bytesdefault long writeUtf8(long offset, @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 CharSequence cs, int maxUtf8Len) throws BufferOverflowException, IllegalArgumentException
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 readPosition()
default long writePosition()
default long readRemaining()
default long writeRemaining()
default long readLimit()
default long writeLimit()
long address(long offset) throws UnsupportedOperationException, IllegalArgumentException
offset
- within this buffer. address(start()) is the actual address of the first byte.UnsupportedOperationException
- if the underlying buffer is on the heapIllegalArgumentException
- if the offset is before the start() or the after the capacity()default ByteOrder byteOrder()
Bytes bytesForRead() throws IllegalStateException
IllegalStateException
Bytes bytesForWrite() throws IllegalStateException
IllegalStateException
boolean compareAndSwapInt(long offset, int expected, int value) throws BufferOverflowException, IllegalArgumentException
offset
- to perform CASexpected
- valuevalue
- to setBufferOverflowException
IllegalArgumentException
boolean compareAndSwapLong(long offset, long expected, long value) throws BufferOverflowException, IllegalArgumentException
offset
- to perform CASexpected
- valuevalue
- to setBufferOverflowException
IllegalArgumentException
default boolean compareAndSwapFloat(long offset, float expected, float value) throws BufferOverflowException, IllegalArgumentException
offset
- to perform CASexpected
- valuevalue
- to setBufferOverflowException
IllegalArgumentException
default boolean compareAndSwapDouble(long offset, double expected, double value) throws BufferOverflowException, IllegalArgumentException
offset
- to perform CASexpected
- valuevalue
- to setBufferOverflowException
IllegalArgumentException
boolean sharedMemory()
boolean isDirectMemory()
Copyright © 2017. All rights reserved.