pulse_slab library

Compact transactional typed-memory state storage for high-throughput Dart applications.

Classes

BoolField
A compact one-byte boolean field.
ByteBatchResult
A processed byte batch returned by ByteBatchWorker.
ByteBatchWorker
A bounded, long-lived worker isolate for raw byte batches.
ByteBatchWorkerConfig
Immutable configuration for a long-lived ByteBatchWorker.
ByteBuffer
A sequence of bytes underlying a typed data object.
ByteData
A fixed-length, random-access sequence of bytes that also provides random and unaligned access to the fixed-width integers and floating point numbers represented by those bytes.
BytesBuilder
Builds a list of bytes, allowing bytes and lists of bytes to be added at the end.
BytesField
A fixed-width byte field.
ByteView
A read-only, zero-copy byte range backed by a record segment.
ChangeJournal
Fixed-capacity ring buffer for compact record-state changes.
ChangeRecord
A compact description of one committed record-state change.
Endian
Endianness of number representation.
Field<T>
A stable, typed descriptor for a value in a RecordLayout.
FieldSelection
An immutable, layout-scoped field selection for layouts of any width.
FieldSelectionBuilder
Incrementally builds a layout-scoped FieldSelection.
FixedBytesField
A descriptive alias for BytesField.
Float32Field
A 32-bit floating-point field.
Float32List
A fixed-length list of IEEE 754 single-precision binary floating-point numbers that is viewable as a TypedData.
Float32x4
Four 32-bit floating point values.
Float32x4List
A fixed-length list of Float32x4 numbers that is viewable as a TypedData.
Float64Field
A 64-bit floating-point field.
Float64List
A fixed-length list of IEEE 754 double-precision binary floating-point numbers that is viewable as a TypedData.
Float64x2
Float64x2 immutable value type and operations.
Float64x2List
A fixed-length list of Float64x2 numbers that is viewable as a TypedData.
Int16Field
A 16-bit signed integer field.
Int16List
A fixed-length list of 16-bit signed integers that is viewable as a TypedData.
Int32Field
A 32-bit signed integer field.
Int32List
A fixed-length list of 32-bit signed integers that is viewable as a TypedData.
Int32x4
Int32x4 and operations.
Int32x4List
A fixed-length list of Int32x4 numbers that is viewable as a TypedData.
Int64Field
A 64-bit signed integer field.
Int64List
A fixed-length list of 64-bit signed integers that is viewable as a TypedData.
Int8Field
An 8-bit signed integer field.
Int8List
A fixed-length list of 8-bit signed integers.
PulseStore
A segmented, transactional store for fixed-layout records.
PulseStorePersistence
Accepts immutable captures of committed PulseStore state.
RecordChange
A field-filtered notification for one already committed record update.
RecordHandle
A stable capability for one allocated record in a SegmentedMemory store.
RecordLayout
Defines a compact, aligned record format for one family of store records.
RecordReader
A checked, immutable view of the latest committed record memory.
SlabField
Declares one field of an optional generated Pulse Slab record schema.
SlabRecord
Declares a Dart type as an optional generated Pulse Slab record schema.
StoreCaptureBatch
A versioned checkpoint or ordered incremental capture.
StoreCaptureCodec
Encodes and decodes versioned StoreCaptureBatch values.
StoreCaptureOperation
A record operation carried by a StoreCaptureBatch.
StoreCaptureRecordId
Identifies one record across a capture stream.
StoreCaptureRelease
Removes a record from replay state.
StoreCaptureReplayer
Applies checkpoints and incremental batches to recover logical record state.
StoreCaptureSnapshot
A complete committed record image.
StorePersistenceLayout
Stable identity and schema version carried by persisted record snapshots.
StorePersistenceReplayConsumer
A single-consumer ordered replay contract.
StorePersistenceReplayDelivery
One replay batch offered by an ordered persistence backend.
StoreSubscription
Owns one subscription to a record in a PulseStore.
TransactionRecordWriter
A mutable record view valid only during its owning WriteTransaction.
TypedData
A typed view of a sequence of bytes.
TypedDataList<E>
A TypedData fixed-length List-view on the bytes of buffer.
Uint16Field
A 16-bit unsigned integer field.
Uint16List
A fixed-length list of 16-bit unsigned integers that is viewable as a TypedData.
Uint32Field
A 32-bit unsigned integer field.
Uint32List
A fixed-length list of 32-bit unsigned integers that is viewable as a TypedData.
Uint64Field
A 64-bit unsigned integer field.
Uint64List
A fixed-length list of 64-bit unsigned integers that is viewable as a TypedData.
Uint64Value
An exact, portable unsigned 64-bit value represented as two unsigned words.
Uint64ValueField
An exact unsigned 64-bit field backed by Uint64Value words.
Uint8ClampedList
A fixed-length list of 8-bit unsigned integers.
Uint8Field
An 8-bit unsigned integer field.
Uint8List
A fixed-length list of 8-bit unsigned integers.
WriteTransaction
A transaction-scoped facade used to obtain controlled writers.

Enums

ByteBatchTransform
Selects the built-in operation performed by ByteBatchWorker.
DeliveryPolicy
Selects when a state subscription receives committed changes.
JournalOverflowPolicy
Defines what a full ChangeJournal does with a replaceable state update.
SlabByteOrder
Selects the byte order emitted for a generated record layout.
SlabFieldKind
Selects the encoded representation of a generated field.
StoreCaptureBatchKind
The kind of a StoreCaptureBatch.

Constants

maxFieldsPerLayout → const int
The largest number of fields supported by the compact FieldMask API.

Functions

defaultStorePersistenceLayout(RecordLayout layout) StorePersistenceLayout
Default layout metadata for persistence-enabled PulseStore instances.

Typedefs

FieldMask = int
A compact bit set that identifies fields changed by a record write.
RecordChangeListener = void Function(RecordChange change)
Callback invoked by a StoreSubscription.
StorePersistenceLayoutResolver = StorePersistenceLayout Function(RecordLayout layout)
Resolves stable persistence metadata for a RecordLayout.
StoreSubscriptionInvalidationListener = void Function()
Callback invoked once when a live record subscription becomes unavailable.

Exceptions / Errors

ByteBatchWorkerException
Thrown when the worker exits unexpectedly or rejects an individual batch.
FieldAccessException
Thrown when a field does not belong to the record being accessed.
LayoutException
Thrown when a record layout is invalid or used inconsistently.
PulseSlabException
Base class for predictable failures raised by Pulse Slab.
RecordBoundsException
Thrown when an operation addresses a record outside the store's segments.
ReleasedRecordException
Thrown when an operation requires a live record but the slot is released.
StaleRecordHandleException
Thrown when a record handle points at a released or reused slot.
StoreDisposedException
Thrown when an operation is attempted after its memory owner is disposed.
StorePersistenceBackpressureException
Signals that a persistence backend cannot accept another capture batch.
VersionOverflowException
Thrown when a version counter cannot advance without wrapping.
WorkerBackpressureException
Thrown when an operation cannot be accepted without exceeding the bounded worker queue.