The node seat node-engine served on the engine's link: its verbs with their proven caller, its acts kept in its own state, a hand-over or access act asked of the operator as node-engine-<node> and performed only on the warrant (issue 774, ADR 0563 §1-§3)
This commit is contained in:
@@ -7,6 +7,8 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
meshasks "git.novox.be/novox/mesh-sdk/go/asks"
|
||||
)
|
||||
|
||||
// Membership is what a node needs to reach its mesh again, held by the caller.
|
||||
@@ -200,6 +202,19 @@ func serve(ctx context.Context, link Link, m Membership, queue *Session, say Ann
|
||||
if s, ok := link.(AccessActs); ok {
|
||||
s.HearAccessActs(queue.AccessAct)
|
||||
}
|
||||
// And its node seat, node-engine, with the operator's answers to its own asks (novox/hq ADR 0563): served on this
|
||||
// link, and what was answered while no link was open caught up from the router's records.
|
||||
if queue.Acts != nil {
|
||||
if s, ok := link.(EngineSeats); ok {
|
||||
s.ServeEngineSeat(queue.Acts.Call)
|
||||
}
|
||||
if a, ok := link.(OperatorAsks); ok {
|
||||
if err := a.HearWarrants(meshasks.EngineAsker(m.Node), queue.Acts.Heard); err != nil {
|
||||
say("cannot hear the operator's answers to this engine's asks: " + err.Error())
|
||||
}
|
||||
go queue.Acts.Reconcile()
|
||||
}
|
||||
}
|
||||
// And asking to move a value sealed to this machine into the vault (design 57's V3, issue 676).
|
||||
if s, ok := link.(MoveSecrets); ok {
|
||||
s.HearMoveSecrets(queue.MoveSecret)
|
||||
|
||||
Reference in New Issue
Block a user