Use binary Preserves over stdio
This commit is contained in:
parent
b3f98cb198
commit
ee3e98b3bf
|
@ -232,7 +232,7 @@ proc dispatch(relay: Relay; v: Preserve[WireRef]) =
|
|||
of PacketKind.Extension:
|
||||
discard
|
||||
else:
|
||||
stderr.writeLine "discarding unparsed packet ", v
|
||||
stderr.writeLine "discarding undecoded packet ", v
|
||||
|
||||
type
|
||||
RelayOptions = object of RootObj
|
||||
|
@ -353,9 +353,8 @@ import std/asyncfile
|
|||
proc connectStdio*(ds: Ref; turn: var Turn) =
|
||||
## Connect to an external dataspace over stdin and stdout.
|
||||
proc stdoutWriter(packet: sink Packet): Future[void] {.async.} =
|
||||
# var buf = encode(packet)
|
||||
# doAssert writeBytes(stdout, buf, 0, buf.len) == buf.len
|
||||
write(stdout, packet)
|
||||
var buf = encode(packet)
|
||||
doAssert writeBytes(stdout, buf, 0, buf.len) == buf.len
|
||||
flushFile(stdout)
|
||||
var opts = RelayActorOptions(
|
||||
packetWriter: stdoutWriter,
|
||||
|
@ -370,12 +369,11 @@ proc connectStdio*(ds: Ref; turn: var Turn) =
|
|||
proc recvCb(pktFut: Future[string]) {.gcsafe.} =
|
||||
if pktFut.failed: discard
|
||||
else:
|
||||
let buf = pktFut.read
|
||||
var buf = pktFut.read
|
||||
if buf.len == 0:
|
||||
run(facet) do (turn: var Turn): stopActor(turn)
|
||||
else:
|
||||
var v = parsePreserves(buf)
|
||||
dispatch(relay, cast[Preserve[WireRef]](v))
|
||||
dispatch(relay, decodePreserves(buf, WireRef))
|
||||
callSoon: asyncStdin.readLine().addCallback(recvCb)
|
||||
# do not process the next line immediately
|
||||
asyncStdin.readLine().addCallback(recvCb)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Package
|
||||
|
||||
version = "20221013"
|
||||
version = "20221016"
|
||||
author = "Emery Hemingway"
|
||||
description = "Syndicated actors for conversational concurrency"
|
||||
license = "Unlicense"
|
||||
|
|
Loading…
Reference in New Issue