Add stdio test
This commit is contained in:
parent
67fa320db6
commit
5ed70badad
|
@ -0,0 +1,42 @@
|
|||
# SPDX-FileCopyrightText: ☭ 2021 Emery Hemingway
|
||||
# SPDX-License-Identifier: Unlicense
|
||||
|
||||
import std/[asyncdispatch, random]
|
||||
import preserves
|
||||
import syndicate
|
||||
|
||||
import syndicate/[actors, capabilities]
|
||||
|
||||
randomize()
|
||||
|
||||
proc mint(): SturdyRef =
|
||||
var key: array[16, byte]
|
||||
mint(key, "syndicate")
|
||||
|
||||
type
|
||||
A* {.preservesRecord: "A".} = object
|
||||
str*: string
|
||||
B* {.preservesRecord: "B".} = object
|
||||
str*: string
|
||||
|
||||
bootDataspace("x") do (ds: Ref; turn: var Turn):
|
||||
connectStdio(ds, turn)
|
||||
|
||||
discard publish(turn, ds, A(str: "A stdio"))
|
||||
discard publish(turn, ds, B(str: "B stdio"))
|
||||
|
||||
onPublish(turn, ds, ?A) do (v: Assertion):
|
||||
stderr.writeLine "received over stdio ", v
|
||||
|
||||
bootDataspace("y") do (ds: Ref; turn: var Turn):
|
||||
|
||||
connectUnix(turn, "/run/user/1000/dataspace", mint()) do (turn: var Turn; a: Assertion) -> TurnAction:
|
||||
let ds = unembed a
|
||||
|
||||
discard publish(turn, ds, A(str: "A unix"))
|
||||
discard publish(turn, ds, B(str: "B unix"))
|
||||
|
||||
onPublish(turn, ds, ?B) do (v: Assertion):
|
||||
stderr.writeLine "received over unix ", v
|
||||
|
||||
runForever()
|
Loading…
Reference in New Issue