Skip to content
Juvix imports

module arch.node.engines.executor_messages;

import prelude open;
import arch.node.types.basics open;
import arch.node.types.identities open;

Executor Messages

These are the specific messages that the Executor engine can receive/respond to.

Message interface

ExecutorMsgExecutorFinished ExecutorFinishedMsg

Notification that execution is complete.

type ExecutorFinishedMsg : Type :=
mkExecutorFinishedMsg@{
success : Bool;
values_read : List (Pair KVSKey KVSDatum);
values_written : List (Pair KVSKey KVSDatum);
};
Arguments
success
Whether execution completed successfully
values_read
List of all key-value pairs that were read
values_written
List of all key-value pairs that were written

ExecutorMsg

type ExecutorMsg := ExecutorMsgExecutorFinished ExecutorFinishedMsg;

Sequence Diagrams

Execution Flow

sequenceDiagram
    participant Executor
    participant Shard
    participant Worker

    Executor->>Shard: KVSReadRequest
    Shard->>Executor: KVSRead
    Executor->>Shard: KVSWrite
    Executor->>Worker: ExecutorFinished
Basic execution flow sequence showing interaction with shards and completion notification