MutableData

Native
1.3
class MutableData

Mutable concurrently accessible data buffer. Could be accessed from several workers simulteniously.

Constructors

Native
1.3

<init>

Mutable concurrently accessible data buffer. Could be accessed from several workers simulteniously.

MutableData(capacity: Int = 16)

Properties

Native
1.3

size

Current data size, may concurrently change later on.

val size: Int

Functions

Native
1.3

append

Appends data to the buffer.

fun append(data: MutableData)

Appends byte array to the buffer.

fun append(
    data: ByteArray,
    fromIndex: Int = 0,
    toIndex: Int = data.size)

Appends C data to the buffer, if data is null or count is non-positive - return.

fun append(data: COpaquePointer?, count: Int)
Native
1.3

copyInto

Copies range of mutable data to the byte array.

fun copyInto(
    output: ByteArray,
    destinationIndex: Int,
    startIndex: Int,
    endIndex: Int)
Native
1.3

get

Get a byte from the mutable data.

operator fun get(index: Int): Byte
Native
1.3

reset

Reset the data buffer, makings its size 0.

fun reset()
Native
1.3

withBufferLocked

Executes provided block under lock with the raw data buffer. Block is executed under the spinlock, and must be short.

fun <R> withBufferLocked(
    block: (array: ByteArray, dataSize: Int) -> R
): R
Native
1.3

withPointerLocked

Executes provided block under lock with raw pointer to the data stored in the buffer. Block is executed under the spinlock, and must be short.

fun <R> withPointerLocked(
    block: (COpaquePointer, dataSize: Int) -> R
): R