From 3fb7dd375ada97b9413abfecccd8a889c53dc93a Mon Sep 17 00:00:00 2001 From: Drahflow Date: Wed, 4 Sep 2013 01:55:51 +0200 Subject: Minimal HTTP server --- elymas/lib/net/alg/server.ey | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'elymas/lib/net/alg/server.ey') diff --git a/elymas/lib/net/alg/server.ey b/elymas/lib/net/alg/server.ey index 9935016..73ab10c 100644 --- a/elymas/lib/net/alg/server.ey +++ b/elymas/lib/net/alg/server.ey @@ -94,13 +94,14 @@ sys .linux .epoll "++" via - { ":" via "" ==inBuffer "" ==outBuffer + { ":" via "" ==inBuffer "" ==outBuffer 0 ==finished < { outBuffer -01 cat =outBuffer ++EPOLLOUT ++EPOLLIN ++EPOLLERR bor bor :ctl } =*write { :close } =*close + { 1 =finished } =*finish > ::accept ":::" via < { 4096 :read _ len @@ -111,7 +112,8 @@ { outBuffer _ :write -01 str .postfix _ =outBuffer - len { ++EPOLLOUT } { 0 } ? * ++EPOLLIN ++EPOLLERR bor bor :ctl + len _ { ++EPOLLOUT } { 0 } ? * ++EPOLLIN ++EPOLLERR bor bor :ctl + not finished and { :close } rep } =*out { :::err } =*err > -- cgit v1.2.3