From 55fdd4cc04363d58d65e680d457f58eda10a5b8d Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Wed, 3 May 2023 20:45:49 +0100 Subject: [PATCH] Idiomatic syndicate --- acpi_actor.nimble | 2 +- acpi.prs => acpi_event.prs | 0 src/acpi_actor.nim | 14 +++++++++++--- 3 files changed, 12 insertions(+), 4 deletions(-) rename acpi.prs => acpi_event.prs (100%) diff --git a/acpi_actor.nimble b/acpi_actor.nimble index e4e93b2..9924fef 100644 --- a/acpi_actor.nimble +++ b/acpi_actor.nimble @@ -1,6 +1,6 @@ # Package -version = "20230502" +version = "20230503" author = "Emery Hemingway" description = "Syndicate actor for publishing Linux ACPI events" license = "Unlicense" diff --git a/acpi.prs b/acpi_event.prs similarity index 100% rename from acpi.prs rename to acpi_event.prs diff --git a/src/acpi_actor.nim b/src/acpi_actor.nim index 86f6da3..ca9dcb0 100644 --- a/src/acpi_actor.nim +++ b/src/acpi_actor.nim @@ -43,8 +43,16 @@ proc relayEvents(ds: Ref; facet: Facet) = # TODO seccomp -bootDataspace("main") do (ds: Ref; turn: var Turn): - connectStdio(ds, turn) - relayEvents(ds, turn.facet) +type Args {.preservesDictionary.} = object + machine: Ref + +bootDataspace("main") do (root: Ref; turn: var Turn): + connectStdio(root, turn) + onPublish(turn, root, ?Args) do (ds: Ref): + stderr.writeLine("ds is ", ds) + relayEvents(ds, turn.facet) + + onPublish(turn, root, grab()) do (a: Assertion): + stderr.writeLine("saw ", a) runForever()