Skip to main content

Module mesh_cog

Module mesh_cog 

Source
Expand description

Cog checkout and artifact transfer over machine-mesh deliveries (ADR-106 sections 4 and 5, phase 1c).

CogMeshDelivery sits in front of the daemon’s router. It takes the three topics of this feature, whatever their sender, and hands everything else on untouched:

  • mesh.artifact.tunnel: artifact piece frames (ArtifactTunnel);
  • mesh.cog.checkout: a member’s request to the steward;
  • mesh.cog.checkout.reply: the steward’s answer.

In service mode it also takes the licence control topics (mesh.cog.binding, mesh.cog.grant, mesh.cog.sync) and hands them to the node’s ServiceLicenceLinks (ADR-106 phase 3); they are never passed on to the router.

Every one of them is honoured only from a verified node peer. The PeerCtx is built by the daemon from the service-stamped origin, so LocalTenant and Unadmitted deliveries never reach a handler, and are dropped here with a count instead of an error the sender could observe.

Structs§

CogMesh
One node’s cog mesh: tunnel, optional steward relay, requester side.
CogMeshCounters
Counters, all monotonic.
CogMeshDelivery
The router in front of inner that takes the cog mesh topics.
CogMeshSlot
A slot the daemon fills once its exchange exists (the mesh link starts before placement builds the exchange). Until then feature topics are dropped.

Constants§

TOPIC_CHECKOUT
Topic of checkout requests to the steward.
TOPIC_CHECKOUT_REPLY
Topic of the steward’s replies.