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