kencode

PackedFormat

open class PackedFormat(val configuration: PackedConfiguration = PackedConfiguration(), val serializersModule: SerializersModule = EmptySerializersModule()) : BinaryFormat(source)

Compact BinaryFormat optimized for small, flat Kotlin data classes.

Features:

  • Booleans and nullability encoded as compact bitmasks in a class header.

  • Optional varint / zig-zag encoding via @PackedType annotations, or globally via PackedConfiguration.

  • Fixed, deterministic field order based on declaration.

Limitations:

  • Nested objects and collections are supported, but do not share bitmasks across structural boundaries.

  • Polymorphism support is limited/unoptimized compared to full-featured formats.

Use the PackedFormat builder function to create a customized instance.

Inheritors

Constructors

Link copied to clipboard
constructor(configuration: PackedConfiguration = PackedConfiguration(), serializersModule: SerializersModule = EmptySerializersModule())

Types

Link copied to clipboard

Default instance using IntPacking.DEFAULT (unsigned varint) for all unannotated Int/Long fields.

Properties

Link copied to clipboard

The active configuration for default varint/zigzag behaviors.

Link copied to clipboard
open override val serializersModule: SerializersModule

The module used to resolve contextual and polymorphic serializers.

Functions

Link copied to clipboard
open override fun <T> decodeFromByteArray(deserializer: DeserializationStrategy<T>, bytes: ByteArray): T

Decodes bytes produced by PackedFormat back into an object of type T.

Link copied to clipboard
open override fun <T> encodeToByteArray(serializer: SerializationStrategy<T>, value: T): ByteArray

Encodes value into a compact binary representation.

PackedFormat

constructor(configuration: PackedConfiguration = PackedConfiguration(), serializersModule: SerializersModule = EmptySerializersModule())(source)

configuration

decodeFromByteArray

open override fun <T> decodeFromByteArray(deserializer: DeserializationStrategy<T>, bytes: ByteArray): T(source)

Decodes bytes produced by PackedFormat back into an object of type T.

encodeToByteArray

open override fun <T> encodeToByteArray(serializer: SerializationStrategy<T>, value: T): ByteArray(source)

Encodes value into a compact binary representation.

serializersModule

open override val serializersModule: SerializersModule(source)