runtimepy.primitives.serializable package#
Submodules#
runtimepy.primitives.serializable.base module#
A module defining a base interface fore serializable objects.
- class runtimepy.primitives.serializable.base.Serializable(byte_order: ByteOrder = ByteOrder.NETWORK, chain: T = None)[source]#
Bases:
ABCAn interface for serializable objects.
- add_to_end(chain: T, array_length: int = None) int[source]#
Add a new serializable to the end of this chain.
- property end: Serializable#
Get the end of this chain.
- size: int#
runtimepy.primitives.serializable.fixed module#
A module implementing a fixed-size bytes serializable.
- class runtimepy.primitives.serializable.fixed.FixedChunk(data: bytes, chain: Serializable = None)[source]#
Bases:
SerializableA simple fixed-size serializable chunk.
runtimepy.primitives.serializable.prefixed module#
A module implementing a variable-size bytes serializable, using an integer primitive prefix to determine the size of the chunk portion.
- class runtimepy.primitives.serializable.prefixed.PrefixedChunk(prefix: Uint8Primitive | Uint16Primitive | Uint32Primitive | Uint64Primitive, byte_order: ByteOrder = ByteOrder.NETWORK, chain: Serializable = None)[source]#
Bases:
SerializableA simple integer-prefixed chunk serializable.
- classmethod create(prefix: type[Int8Primitive | Int16Primitive | Int32Primitive | Int64Primitive | Uint8Primitive | Uint16Primitive | Uint32Primitive | Uint64Primitive | HalfPrimitive | FloatPrimitive | DoublePrimitive | BooleanPrimitive] | str = 'uint16', chain: Serializable = None) T[source]#
Create a prefixed chunk.
Module contents#
A module defining an interface for serializable objects.
- class runtimepy.primitives.serializable.FixedChunk(data: bytes, chain: Serializable = None)[source]#
Bases:
SerializableA simple fixed-size serializable chunk.
- class runtimepy.primitives.serializable.PrefixedChunk(prefix: Uint8Primitive | Uint16Primitive | Uint32Primitive | Uint64Primitive, byte_order: ByteOrder = ByteOrder.NETWORK, chain: Serializable = None)[source]#
Bases:
SerializableA simple integer-prefixed chunk serializable.
- classmethod create(prefix: type[Int8Primitive | Int16Primitive | Int32Primitive | Int64Primitive | Uint8Primitive | Uint16Primitive | Uint32Primitive | Uint64Primitive | HalfPrimitive | FloatPrimitive | DoublePrimitive | BooleanPrimitive] | str = 'uint16', chain: Serializable = None) T[source]#
Create a prefixed chunk.
- class runtimepy.primitives.serializable.Serializable(byte_order: ByteOrder = ByteOrder.NETWORK, chain: T = None)[source]#
Bases:
ABCAn interface for serializable objects.
- add_to_end(chain: T, array_length: int = None) int[source]#
Add a new serializable to the end of this chain.
- property end: Serializable#
Get the end of this chain.
- size: int#