Skip to main content

Module forward

Module forward 

Source
Expand description

Forwarding validated batches to the store owner (the owner’s side is in super::owner).

The owner is this node (LocalForwarder) or another node (MeshForwarder to a [StoreOwnerService]). Remote forwarding is a ForwardRequest signed by the bridge node’s Ed25519 key, carried as a MeshIpcEnvelope addressed to ServiceMethod { cog-store, store.ingest } and answered by a response signed by the owner and bound to the request nonce. The owner checks, in order: size, signature, structure, key binding, addressee, time window, forwarder policy (key and project), nonce freshness. The nonce is recorded last, so a forged request cannot burn a legitimate one.

Structs§

ForwardRequest
A forwarded batch.
ForwardResponse
Signed answer.
LocalForwarder
The store owner is this node.
MeshForwarder
Forwards to a remote owner over a kept connection (reconnects once on a transport failure).

Enums§

ForwardOutcome
What the owner did.
ForwardRefusal
Why an owner refused. Stable names.

Constants§

FORWARD_DOMAIN
Domain tag signed before a request payload.
FORWARD_RESPONSE_DOMAIN
Domain tag signed before a response payload.
FORWARD_VERSION
Wire version.
MEM_SCHEME
Address scheme for in-process owners.
STORE_INGEST_METHOD
Method of the service.
STORE_SERVICE
Service the store owner answers as.

Traits§

Forwarder
Takes a batch to the node that owns the store.