Skip to main content

Module vector

Module vector 

Source
Expand description

Vector insert / delete outbound queue for Lite sync.

When NodeDbLite::vector_insert_impl or vector_delete_impl is called, the operation is durably enqueued here. The sync transport drains this queue on every tick and sends VectorInsert (0xA2) / VectorDelete (0xA4) wire frames to Origin.

§Durability

Inserts are backed by DurableOutboundQueue in Namespace::VectorInsertPending; deletes use Namespace::VectorDeletePending. Each entry is persisted before the enqueue call returns. Entries survive process restarts; un-acked entries are re-drained on reconnect (at-least-once delivery).

§Backpressure

enqueue_insert / enqueue_delete return LiteError::Backpressure when their respective queue is at cap, propagating to the write caller so the device can pause until the sync transport drains the backlog.

§Design: two queues, two namespaces

Inserts and deletes are kept in separate queues so the push transport can drain and ack them independently. A shared queue with a 1-byte op tag would require the push path to branch on type after decoding; two queues keep each drain path homogeneous and mirror the columnar/timeseries pattern exactly.

Structs§

PendingVectorDelete
A single pending vector delete awaiting sync to Origin.
PendingVectorInsert
A single pending vector insert awaiting sync to Origin.
VectorOutbound
Durable outbound queue for vector insert and delete sync.