module arch.node.engines.executor_messages;

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

type ExecutorFinishedMsg KVSKey KVSDatum :=
  mkExecutorFinishedMsg@{
    success : Bool;
    values_read : List (Pair KVSKey KVSDatum);
    values_written : List (Pair KVSKey KVSDatum);
  };

type ExecutorMsg KVSKey KVSDatum :=
  | ExecutorMsgExecutorFinished (ExecutorFinishedMsg KVSKey KVSDatum);