014 fleet mail

✓ Passing This code compiles and runs correctly.

Code

input.k

Supporting Files

world/room-mb/state.kv

Actual

slate cleared
slate cleared
slate cleared
alpha spawned room-mb
beta posted mail 1 to alpha
beta posted mail 2
mail from beta: touch(k: 5)
mail from beta: touch(k: 2)
alpha delivered 2 mails
alpha reads hits=2
beta drain refused: alpha
gap mail posted while unowned
alpha claimed gap-mb epoch=1
gap mail from beta: ping
gap delivered 1
never-mb: free
alpha drained 1
beta drained 0

Expected output

slate cleared
slate cleared
slate cleared
alpha spawned room-mb
beta posted mail 1 to alpha
beta posted mail 2
mail from beta: touch(k: 5)
mail from beta: touch(k: 2)
alpha delivered 2 mails
alpha reads hits=2
beta drain refused: alpha
gap mail posted while unowned
alpha claimed gap-mb epoch=1
gap mail from beta: ping
gap delivered 1
never-mb: free
alpha drained 1
beta drained 0

Flows

flow ~std/proto click a branch to expand · @labels scroll to their anchor
std/proto (room_state, source: hits: u32)
flow ~register click a branch to expand · @labels scroll to their anchor
register (scope: "cell", source: touch(5))
flow ~reset click a branch to expand · @labels scroll to their anchor
reset (world: "tests/regression/400_RUNTIME_FEATURES/470_FLEET/470_014_fleet_mail/world")
flow ~new click a branch to expand · @labels scroll to their anchor
new (alpha, scope: "cell", world: "tests/regression/400_RUNTIME_FEATURES/470_FLEET/470_014_fleet_mail/world", capacity: 8)
flow ~new click a branch to expand · @labels scroll to their anchor
new (beta, scope: "cell", world: "tests/regression/400_RUNTIME_FEATURES/470_FLEET/470_014_fleet_mail/world", capacity: 8)
flow ~std/node click a branch to expand · @labels scroll to their anchor
std/node (alpha)
flow ~std/node click a branch to expand · @labels scroll to their anchor
std/node (beta)
flow ~std/node click a branch to expand · @labels scroll to their anchor
std/node (alpha)
flow ~std/node click a branch to expand · @labels scroll to their anchor
std/node (beta.room-mb)
flow ~send click a branch to expand · @labels scroll to their anchor
send (world: "tests/regression/400_RUNTIME_FEATURES/470_FLEET/470_014_fleet_mail/world", id: "room-mb", from: "beta", body: "touch(k: 2)")
flow ~drain click a branch to expand · @labels scroll to their anchor
drain (world: "tests/regression/400_RUNTIME_FEATURES/470_FLEET/470_014_fleet_mail/world", id: "room-mb", node: "alpha")
flow ~std/node click a branch to expand · @labels scroll to their anchor
std/node (alpha.room-mb)
flow ~drain click a branch to expand · @labels scroll to their anchor
drain (world: "tests/regression/400_RUNTIME_FEATURES/470_FLEET/470_014_fleet_mail/world", id: "room-mb", node: "beta")
flow ~send click a branch to expand · @labels scroll to their anchor
send (world: "tests/regression/400_RUNTIME_FEATURES/470_FLEET/470_014_fleet_mail/world", id: "gap-mb", from: "beta", body: "ping")
flow ~claim click a branch to expand · @labels scroll to their anchor
claim (world: "tests/regression/400_RUNTIME_FEATURES/470_FLEET/470_014_fleet_mail/world", id: "gap-mb", node: "alpha", ttl-ms: 0)
flow ~drain click a branch to expand · @labels scroll to their anchor
drain (world: "tests/regression/400_RUNTIME_FEATURES/470_FLEET/470_014_fleet_mail/world", id: "gap-mb", node: "alpha")
flow ~drain click a branch to expand · @labels scroll to their anchor
drain (world: "tests/regression/400_RUNTIME_FEATURES/470_FLEET/470_014_fleet_mail/world", id: "never-mb", node: "alpha")
flow ~std/node click a branch to expand · @labels scroll to their anchor
std/node (alpha)
flow ~std/node click a branch to expand · @labels scroll to their anchor
std/node (beta)

Test Configuration

MUST_RUN