Expand description
§Thread-Per-Core (TPC) Module
Implements thread-per-core architecture for linear scaling on multi-core systems.
§Components
SpscQueue- Lock-free single-producer single-consumer queueCoreHandle- Manages a single core’s reactor threadCreditGate- Credit-based backpressureTpcConfig/OutputBuffer- Runtime configuration and output collection
Structs§
- Backpressure
Config - Configuration for backpressure handling.
- Backpressure
Config Builder - Builder for
BackpressureConfig. - Cache
Padded - A wrapper that pads a value to a 128-byte boundary to prevent false sharing.
- Core
Config - Configuration for a core handle.
- Core
Handle - Handle to a core’s reactor thread.
- Credit
Gate - Manages credits for a single receiver (core).
- Credit
Metrics - Metrics for credit-based flow control.
- Credit
Metrics Snapshot - Snapshot of credit metrics for reporting.
- Output
Buffer - A pre-allocated buffer for collecting outputs without allocation.
- Partitioned
Router - Routes
RecordBatchrows to cores based on key columns. - Spsc
Queue - A lock-free single-producer single-consumer bounded queue.
- Tagged
Output - Output tagged with its source index for coordinator routing.
- TpcConfig
- Configuration for the thread-per-core runtime.
- TpcConfig
Builder - Builder for
TpcConfig.
Enums§
- Core
Message - Messages sent to a core thread.
- Credit
Acquire Result - Result of attempting to acquire credits.
- KeySpec
- Specifies how to extract routing keys from events.
- Overflow
Strategy - Strategy for handling overflow when credits are exhausted.
- Router
Error - Routing errors with no heap allocation.
- TpcError
- Errors that can occur in the TPC runtime.