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
SegmentedMemorystore. - 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.