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¶
type ExecutorMsg := | ExecutorFinished ExecutorFinishedMsg;
Message sequence diagram¶
Execution flow¶
sequenceDiagram
    participant Executor
    participant Shard
    participant Worker
    Executor->>Shard: KVSReadRequest
    Shard->>Executor: KVSRead
    Executor->>Shard: KVSWrite
    Executor->>Worker: ExecutorFinishedMessage types¶
ExecutorFinishedMsg¶
Notification that execution is complete.
type ExecutorFinishedMsg :=
  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 := | ExecutorFinished ExecutorFinishedMsg;