1
0
mirror of https://github.com/janet-lang/janet synced 2025-10-23 19:57:40 +00:00

Add ev/pipe and move stream code into ev.c

Also adds a lot to the C API and changes things up.
This commit is contained in:
Calvin Rose
2020-11-14 14:28:10 -06:00
parent b3e88a8d80
commit 12f09ad2d7
5 changed files with 412 additions and 270 deletions

View File

@@ -33,16 +33,9 @@
(:write stream b)
(buffer/clear b)))
(def s (net/server "127.0.0.1" "8000"))
(def s (net/server "127.0.0.1" "8000" handler))
(assert s "made server 1")
(ev/go
(coro
(while (not (net/closed? s))
(def conn (net/accept s))
(unless conn (break))
(ev/call handler conn))))
(defn test-echo [msg]
(with [conn (net/connect "127.0.0.1" "8000")]
(:write conn msg)
@@ -55,4 +48,19 @@
(:close s)
# Create pipe
(var pipe-counter 0)
(def [reader writer] (ev/pipe))
(ev/spawn
(while (ev/read reader 3)
(++ pipe-counter))
(assert (= 20 pipe-counter) "ev/pipe 1"))
(for i 0 10
(ev/write writer "xxx---"))
(ev/close writer)
(ev/sleep 0.1)
(end-suite)