StreamBinaryWriter

class dsviper.StreamBinaryWriter(stream_raw_writing)

Bases: object

Writes values in a fixed byte order, portable across machines.

Swaps on big-endian hosts so a stream written anywhere reads anywhere. Take it whenever the bytes can reach another machine.

stream_writing() → StreamWriting

Return the StreamWriting interface.

write_blob(value: ValueBlob) → None

Write value as a blob.

A base64 str is accepted and decoded.

write_blob_id(value: ValueBlobId) → None

Write value as a blob_id.

A str is accepted and parsed; raise if it is neither.

write_bool(value: bool) → None

Write value as a bool.

Raise if value is not a bool - an int is not accepted.

write_commit_id(value: ValueCommitId) → None

Write value as a commit_id.

A str is accepted and parsed; raise if it is neither.

write_double(value: float) → None

Write value as a double.

An int is accepted and converted.

write_doubles(value: Sequence | ValueVec, size: int) → None

Write value, a sequence of size double.

An int element is accepted and converted.

write_float(value: float) → None

Write value as a float.

An int is accepted; raise if the value does not fit in 32 bits.

write_floats(value: Sequence | ValueVec, size: int) → None

Write value, a sequence of size float.

An int element is accepted; raise if a value does not fit in 32 bits.

write_int16(value: int) → None

Write value as an int16.

Raise if value is not an int, or is out of range for an int16.

write_int16s(value: Sequence | ValueVec, size: int) → None

Write value, a sequence of size int16.

Raise if an element is not an int, or is out of range for an int16.

write_int32(value: int) → None

Write value as an int32.

Raise if value is not an int, or is out of range for an int32.

write_int32s(value: Sequence | ValueVec, size: int) → None

Write value, a sequence of size int32.

Raise if an element is not an int, or is out of range for an int32.

write_int64(value: int) → None

Write value as an int64.

Raise if value is not an int, or is out of range for an int64.

write_int64s(value: Sequence | ValueVec, size: int) → None

Write value, a sequence of size int64.

Raise if an element is not an int, or is out of range for an int64.

write_int8(value: int) → None

Write value as an int8.

Raise if value is not an int, or is out of range for an int8.

write_int8s(value: Sequence | ValueVec, size: int) → None

Write value, a sequence of size int8.

Raise if an element is not an int, or is out of range for an int8.

write_string(value: str) → None

Write value as a string.

Raise if value is not a str.

write_uint16(value: int) → None

Write value as a uint16.

Raise if value is not an int, or is out of range for a uint16.

write_uint16s(value: Sequence | ValueVec, size: int) → None

Write value, a sequence of size uint16.

Raise if an element is not an int, or is out of range for a uint16.

write_uint32(value: int) → None

Write value as a uint32.

Raise if value is not an int, or is out of range for a uint32.

write_uint32s(value: Sequence | ValueVec, size: int) → None

Write value, a sequence of size uint32.

Raise if an element is not an int, or is out of range for a uint32.

write_uint64(value: int) → None

Write value as a uint64.

Raise if value is not an int, or is out of range for a uint64.

write_uint64s(value: Sequence | ValueVec, size: int) → None

Write value, a sequence of size uint64.

Raise if an element is not an int, or is out of range for a uint64.

write_uint8(value: int) → None

Write value as a uint8.

Raise if value is not an int, or is out of range for a uint8.

write_uint8s(value: Sequence | ValueVec, size: int) → None

Write value, a sequence of size uint8.

Raise if an element is not an int, or is out of range for a uint8.

write_uuid(value: ValueUUId) → None

Write value as a uuid.

A str is accepted and parsed; raise if it is neither.