Skip to main content

Module spatial

Module spatial 

Source
Expand description

Spatial geometry insert/delete outbound queue for Lite sync.

§Durability

Two DurableOutboundQueues (one per op-kind) back this outbound: Namespace::SpatialInsertPending and Namespace::SpatialDeletePending.

§Staging + spill model (no block_on)

spatial_insert and spatial_delete are sync methods on NodeDbLite. They cannot .await a storage write. Instead they push to a bounded in-memory PendingQueue (staging buffer). The async flush() path drains the staging buffer and spills entries to the durable queues.

If the staging buffer reaches STAGING_CAP entries before the next flush, new enqueues are dropped with a warn! — the geometry is already durable in the local R-tree; Origin will see it on the next full catch-up.

The push transport calls [drain_inserts] / [drain_deletes] which reads from the durable queues. [ack_insert_keys] / [ack_delete_keys] delete confirmed entries by key.

Structs§

PendingSpatialDelete
A single pending spatial delete operation awaiting sync to Origin.
PendingSpatialInsert
A single pending spatial insert operation awaiting sync to Origin.
SpatialOutbound
Durable outbound queue for spatial insert and delete sync.