Binary SerializationAuto-generate binary serialization for classes:

Binary Serialization

@derive(Serialize, Deserialize)

Auto-generate binary serialization for classes:

@derive(Serialize, Deserialize)
class GameState {
    var level: Int
    var score: Int
    var playerName: String
}

This generates serialize() and deserialize() methods that encode/decode the class fields to/from binary format.

Binary Buffer

Low-level binary buffer API:

import core.binary

Functions

FunctionSignatureDescription
newBinaryBuffer(capacity: Int) r: IntCreate buffer (returns handle)
binaryBufferLength(handle: Int) r: IntGet buffer length

Runtime Functions

FunctionDescription
__BinaryBufferNew(capacity)Create binary buffer
__BinaryBufferData(handle)Get data pointer
__BinaryBufferLength(handle)Get length
__BinaryWriteI64(handle, val)Write 64-bit integer
__BinaryReadI64(handle, offset)Read 64-bit integer
__BinaryWriteF64(handle, val)Write 64-bit float
__BinaryReadF64(handle, offset)Read 64-bit float

Example

let buf = newBinaryBuffer(1024)
__BinaryWriteI64(buf, 42)
__BinaryWriteF64(buf, 3.14)
let len = binaryBufferLength(buf)
println("Buffer size: {len}")

RLE Compression

Run-length encoding for binary data:

import core.compress
FunctionSignatureDescription
compressRLE(src: Int, srcLen: Int, dst: Int, dstCap: Int) r: IntCompress data
decompressRLE(src: Int, srcLen: Int, dst: Int, dstCap: Int) r: IntDecompress data

Returns the output length, or -1 on error.

Packets

Network packet utilities:

import core.packet
FunctionSignatureDescription
packetHeaderId(header: Int) r: IntExtract packet ID from header
packetHeaderLength(header: Int) r: IntExtract payload length from header

@packet Decorator

For network protocol types:

@packet(id = 1)
class LoginRequest {
    var username: String
    var password: String
}

@binary Decorator

Mark a class for binary layout:

@binary
class RawData {
    var header: Int
    var payload_size: Int
    var checksum: Int
}
Architected in Kotlin. Rendered with Materia. Powered by Aether.
© 2026 Yousef.