summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/luv/examples
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/luv/examples')
-rw-r--r--3rdparty/luv/examples/cqueues-main.lua31
-rw-r--r--3rdparty/luv/examples/cqueues-slave.lua55
-rw-r--r--3rdparty/luv/examples/echo-server-client.lua68
-rw-r--r--3rdparty/luv/examples/killing-children.lua24
-rw-r--r--3rdparty/luv/examples/lots-o-dns.lua49
-rw-r--r--3rdparty/luv/examples/repl.lua89
-rw-r--r--3rdparty/luv/examples/talking-to-children.lua47
-rw-r--r--3rdparty/luv/examples/tcp-cluster.lua84
-rw-r--r--3rdparty/luv/examples/timers.lua68
-rw-r--r--3rdparty/luv/examples/uvbook/helloworld.lua5
-rw-r--r--3rdparty/luv/examples/uvbook/idle-basic.lua14
-rw-r--r--3rdparty/luv/examples/uvbook/onchange.lua30
-rw-r--r--3rdparty/luv/examples/uvbook/queue-work.lua19
-rw-r--r--3rdparty/luv/examples/uvbook/tcp-echo-client.lua21
-rw-r--r--3rdparty/luv/examples/uvbook/tcp-echo-server.lua22
-rw-r--r--3rdparty/luv/examples/uvbook/thread-create.lua38
-rw-r--r--3rdparty/luv/examples/uvbook/uvcat.lua37
-rw-r--r--3rdparty/luv/examples/uvbook/uvtee.lua35
18 files changed, 0 insertions, 736 deletions
diff --git a/3rdparty/luv/examples/cqueues-main.lua b/3rdparty/luv/examples/cqueues-main.lua
deleted file mode 100644
index ff60ec2b1c9..00000000000
--- a/3rdparty/luv/examples/cqueues-main.lua
+++ /dev/null
@@ -1,31 +0,0 @@
---[[
-Demonstrates using luv with a cqueues mainloop
-]]
-
-local cqueues = require "cqueues"
-local uv = require "luv"
-
-local cq = cqueues.new()
-
-cq:wrap(function()
- while cqueues.poll({
- pollfd = uv.backend_fd();
- timeout = uv.backend_timeout() / 1000;
- events = "r";
- }) do
- uv.run("nowait")
- end
-end)
-
-cq:wrap(function()
- while true do
- cqueues.sleep(1)
- print("HELLO FROM CQUEUES")
- end
-end)
-
-uv.new_timer():start(1000, 1000, function()
- print("HELLO FROM LUV")
-end)
-
-assert(cq:loop())
diff --git a/3rdparty/luv/examples/cqueues-slave.lua b/3rdparty/luv/examples/cqueues-slave.lua
deleted file mode 100644
index 599e7c6ded7..00000000000
--- a/3rdparty/luv/examples/cqueues-slave.lua
+++ /dev/null
@@ -1,55 +0,0 @@
---[[
-Demonstrates using cqueues with a luv mainloop
-
-Starts a simple sleep+print loop using each library's native form.
-They should print intertwined.
-]]
-
-local cqueues = require "cqueues"
-local uv = require "luv"
-
-local cq = cqueues.new()
-
-do
- local timer = uv.new_timer()
- local function reset_timer()
- local timeout = cq:timeout()
- if timeout then
- -- libuv takes milliseconds as an integer,
- -- while cqueues gives timeouts as a floating point number
- -- use `math.ceil` as we'd rather wake up late than early
- timer:set_repeat(math.ceil(timeout * 1000))
- timer:again()
- else
- -- stop timer for now; it may be restarted later.
- timer:stop()
- end
- end
- local function onready()
- -- Step the cqueues loop once (sleeping for max 0 seconds)
- assert(cq:step(0))
- reset_timer()
- end
- -- Need to call `start` on libuv timer now
- -- to provide callback and so that `again` works
- timer:start(0, 0, onready)
- -- Ask libuv to watch the cqueue pollfd
- uv.new_poll(cq:pollfd()):start(cq:events(), onready)
-end
-
--- Adds a new function to the scheduler `cq`
--- The functions is an infinite loop that sleeps for 1 second and prints
-cq:wrap(function()
- while true do
- cqueues.sleep(1)
- print("HELLO FROM CQUEUES")
- end
-end)
-
--- Start a luv timer that fires every 1 second
-uv.new_timer():start(1000, 1000, function()
- print("HELLO FROM LUV")
-end)
-
--- Run luv mainloop
-uv.run()
diff --git a/3rdparty/luv/examples/echo-server-client.lua b/3rdparty/luv/examples/echo-server-client.lua
deleted file mode 100644
index ea4e6d2132d..00000000000
--- a/3rdparty/luv/examples/echo-server-client.lua
+++ /dev/null
@@ -1,68 +0,0 @@
-local p = require('lib/utils').prettyPrint
-local uv = require('luv')
-
-local function create_server(host, port, on_connection)
-
- local server = uv.new_tcp()
- p(1, server)
- uv.tcp_bind(server, host, port)
-
- uv.listen(server, 128, function(err)
- assert(not err, err)
- local client = uv.new_tcp()
- uv.accept(server, client)
- on_connection(client)
- end)
-
- return server
-end
-
-local server = create_server("0.0.0.0", 0, function (client)
- p("new client", client, uv.tcp_getsockname(client), uv.tcp_getpeername(client))
- uv.read_start(client, function (err, chunk)
- p("onread", {err=err,chunk=chunk})
-
- -- Crash on errors
- assert(not err, err)
-
- if chunk then
- -- Echo anything heard
- uv.write(client, chunk)
- else
- -- When the stream ends, close the socket
- uv.close(client)
- end
- end)
-end)
-
-local address = uv.tcp_getsockname(server)
-p("server", server, address)
-
-local client = uv.new_tcp()
-uv.tcp_connect(client, "127.0.0.1", address.port, function (err)
- assert(not err, err)
-
- uv.read_start(client, function (err, chunk)
- p("received at client", {err=err,chunk=chunk})
- assert(not err, err)
- if chunk then
- uv.shutdown(client)
- p("client done shutting down")
- else
- uv.close(client)
- uv.close(server)
- end
- end)
-
- p("writing from client")
- uv.write(client, "Hello")
- uv.write(client, "World")
-
-end)
-
--- Start the main event loop
-uv.run()
--- Close any stray handles when done
-uv.walk(uv.close)
-uv.run()
-uv.loop_close()
diff --git a/3rdparty/luv/examples/killing-children.lua b/3rdparty/luv/examples/killing-children.lua
deleted file mode 100644
index 6aab693d0c1..00000000000
--- a/3rdparty/luv/examples/killing-children.lua
+++ /dev/null
@@ -1,24 +0,0 @@
-local p = require('lib/utils').prettyPrint
-local uv = require('luv')
-
-
-
-local child, pid
-child, pid = uv.spawn("sleep", {
- args = {"100"}
-}, function (code, signal)
- p("EXIT", {code=code,signal=signal})
- uv.close(child)
-end)
-
-p{child=child, pid=pid}
-
--- uv.kill(pid, "SIGTERM")
-uv.process_kill(child, "SIGTERM")
-
-repeat
- print("\ntick.")
-until uv.run('once') == 0
-
-print("done")
-
diff --git a/3rdparty/luv/examples/lots-o-dns.lua b/3rdparty/luv/examples/lots-o-dns.lua
deleted file mode 100644
index 59a1b0fe534..00000000000
--- a/3rdparty/luv/examples/lots-o-dns.lua
+++ /dev/null
@@ -1,49 +0,0 @@
-local p = require('lib/utils').prettyPrint
-local uv = require('luv')
-
-uv.getaddrinfo(nil, 80, nil, p)
-
-local domains = {
- "facebook.com",
- "google.com",
- "mail.google.com",
- "maps.google.com",
- "plus.google.com",
- "play.google.com",
- "apple.com",
- "hp.com",
- "yahoo.com",
- "mozilla.com",
- "developer.mozilla.com",
- "luvit.io",
- "creationix.com",
- "howtonode.org",
- "github.com",
- "gist.github.com"
-}
-
-local i = 1
-local function next()
- uv.getaddrinfo(domains[i], nil, {
- v4mapped = true,
- all = true,
- addrconfig = true,
- canonname = true,
- numericserv = true,
- socktype = "STREAM"
- }, function (err, data)
- assert(not err, err)
- p(data)
- i = i + 1
- if i <= #domains then
- next()
- end
- end)
-end
-next();
-
-repeat
- print("\nTick..")
-until uv.run('once') == 0
-
-print("done")
diff --git a/3rdparty/luv/examples/repl.lua b/3rdparty/luv/examples/repl.lua
deleted file mode 100644
index 92be0f17d87..00000000000
--- a/3rdparty/luv/examples/repl.lua
+++ /dev/null
@@ -1,89 +0,0 @@
-local uv = require('luv')
-local utils = require('lib/utils')
-
-if uv.guess_handle(0) ~= "tty" or
- uv.guess_handle(1) ~= "tty" then
- error "stdio must be a tty"
-end
-local stdin = uv.new_tty(0, true)
-local stdout = require('lib/utils').stdout
-
-local debug = require('debug')
-local c = utils.color
-
-local function gatherResults(success, ...)
- local n = select('#', ...)
- return success, { n = n, ... }
-end
-
-local function printResults(results)
- for i = 1, results.n do
- results[i] = utils.dump(results[i])
- end
- print(table.concat(results, '\t'))
-end
-
-local buffer = ''
-
-local function evaluateLine(line)
- if line == "<3\n" then
- print("I " .. c("Bred") .. "♥" .. c() .. " you too!")
- return '>'
- end
- local chunk = buffer .. line
- local f, err = loadstring('return ' .. chunk, 'REPL') -- first we prefix return
-
- if not f then
- f, err = loadstring(chunk, 'REPL') -- try again without return
- end
-
- if f then
- buffer = ''
- local success, results = gatherResults(xpcall(f, debug.traceback))
-
- if success then
- -- successful call
- if results.n > 0 then
- printResults(results)
- end
- else
- -- error
- print(results[1])
- end
- else
-
- if err:match "'<eof>'$" then
- -- Lua expects some more input; stow it away for next time
- buffer = chunk .. '\n'
- return '>>'
- else
- print(err)
- buffer = ''
- end
- end
-
- return '>'
-end
-
-local function displayPrompt(prompt)
- uv.write(stdout, prompt .. ' ')
-end
-
-local function onread(err, line)
- if err then error(err) end
- if line then
- local prompt = evaluateLine(line)
- displayPrompt(prompt)
- else
- uv.close(stdin)
- end
-end
-
-coroutine.wrap(function()
- displayPrompt '>'
- uv.read_start(stdin, onread)
-end)()
-
-uv.run()
-
-print("")
diff --git a/3rdparty/luv/examples/talking-to-children.lua b/3rdparty/luv/examples/talking-to-children.lua
deleted file mode 100644
index 10a53ef8c88..00000000000
--- a/3rdparty/luv/examples/talking-to-children.lua
+++ /dev/null
@@ -1,47 +0,0 @@
-local p = require('lib/utils').prettyPrint
-local uv = require('luv')
-
-local stdout = uv.new_pipe(false)
-local stderr = uv.new_pipe( false)
-local stdin = uv.new_pipe(false)
-
-local handle, pid
-
-local function onexit(code, signal)
- p("exit", {code=code,signal=signal})
-end
-
-local function onclose()
- p("close")
-end
-
-local function onread(err, chunk)
- assert(not err, err)
- if (chunk) then
- p("data", {data=chunk})
- else
- p("end")
- end
-end
-
-local function onshutdown()
- uv.close(handle, onclose)
-end
-
-handle, pid = uv.spawn("cat", {
- stdio = {stdin, stdout, stderr}
-}, onexit)
-
-p{
- handle=handle,
- pid=pid
-}
-
-uv.read_start(stdout, onread)
-uv.read_start(stderr, onread)
-uv.write(stdin, "Hello World")
-uv.shutdown(stdin, onshutdown)
-
-uv.run()
-uv.walk(uv.close)
-uv.run()
diff --git a/3rdparty/luv/examples/tcp-cluster.lua b/3rdparty/luv/examples/tcp-cluster.lua
deleted file mode 100644
index e69ceffc62d..00000000000
--- a/3rdparty/luv/examples/tcp-cluster.lua
+++ /dev/null
@@ -1,84 +0,0 @@
-
--- This function will be run in a child process
-local child_code = string.dump(function ()
- local p = require('lib/utils').prettyPrint
- local uv = require('luv')
-
- -- The parent is going to pass us the server handle over a pipe
- -- This will be our local file descriptor at PIPE_FD
- local pipe = uv.new_pipe(true)
- local pipe_fd = tonumber(os.getenv("PIPE_FD"))
- assert(uv.pipe_open(pipe, pipe_fd))
-
- -- Configure the server handle
- local server = uv.new_tcp()
- local function onconnection()
- local client = uv.new_tcp()
- uv.accept(server, client)
- p("New TCP", client, "on", server)
- p{client=client}
- uv.write(client, "BYE!\n");
- uv.shutdown(client, function ()
- uv.close(client)
- uv.close(server)
- end)
- end
-
- -- Read the server handle from the parent
- local function onread(err, data)
- p("onread", {err=err,data=data})
- assert(not err, err)
- if uv.pipe_pending_count(pipe) > 0 then
- local pending_type = uv.pipe_pending_type(pipe)
- p("pending_type", pending_type)
- assert(pending_type == "tcp")
- assert(uv.accept(pipe, server))
- assert(uv.listen(server, 128, onconnection))
- p("Received server handle from parent process", server)
- elseif data then
- p("ondata", data)
- else
- p("onend", data)
- end
- end
- uv.read_start(pipe, onread)
-
- -- Start the event loop!
- uv.run()
-end)
-
-local p = require('lib/utils').prettyPrint
-local uv = require('luv')
-
-local exepath = assert(uv.exepath())
-local cpu_count = # assert(uv.cpu_info())
-
-local server = uv.new_tcp()
-assert(uv.tcp_bind(server, "::1", 1337))
-print("Master process bound to TCP port 1337 on ::1")
-
-
-local function onexit(status, signal)
- p("Child exited", {status=status,signal=signal})
-end
-
-local function spawnChild()
- local pipe = uv.new_pipe(true)
- local input = uv.new_pipe(false)
- local _, pid = assert(uv.spawn(exepath, {
- stdio = {input,1,2,pipe},
- env= {"PIPE_FD=3"}
- }, onexit))
- uv.write(input, child_code)
- uv.shutdown(input)
- p("Spawned child", pid, "and sending handle", server)
- assert(uv.write2(pipe, "123", server))
- assert(uv.shutdown(pipe))
-end
-
--- Spawn a child process for each CPU core
-for _ = 1, cpu_count do
- spawnChild()
-end
-
-uv.run()
diff --git a/3rdparty/luv/examples/timers.lua b/3rdparty/luv/examples/timers.lua
deleted file mode 100644
index 049235e6fb1..00000000000
--- a/3rdparty/luv/examples/timers.lua
+++ /dev/null
@@ -1,68 +0,0 @@
-local p = require('lib/utils').prettyPrint
-local uv = require('luv')
-
-local function set_timeout(timeout, callback)
- local timer = uv.new_timer()
- local function ontimeout()
- p("ontimeout", timer)
- uv.timer_stop(timer)
- uv.close(timer)
- callback(timer)
- end
- uv.timer_start(timer, timeout, 0, ontimeout)
- return timer
-end
-
-local function clear_timeout(timer)
- uv.timer_stop(timer)
- uv.close(timer)
-end
-
-local function set_interval(interval, callback)
- local timer = uv.new_timer()
- local function ontimeout()
- p("interval", timer)
- callback(timer)
- end
- uv.timer_start(timer, interval, interval, ontimeout)
- return timer
-end
-
-local clear_interval = clear_timeout
-
-local i = set_interval(300, function()
- print("interval...")
-end)
-
-set_timeout(1000, function()
- clear_interval(i)
-end)
-
-
-local handle = uv.new_timer()
-local delay = 1024
-local function ontimeout()
- p("tick", delay)
- delay = delay / 2
- if delay >= 1 then
- uv.timer_set_repeat(handle, delay)
- uv.timer_again(handle)
- else
- uv.timer_stop(handle)
- uv.close(handle)
- p("done")
- end
-end
-uv.timer_start(handle, delay, 0, ontimeout)
-
-
-repeat
- print("\ntick.")
-until uv.run('once') == 0
-
-print("done")
-
-uv.walk(uv.close)
-uv.run()
-uv.loop_close()
-
diff --git a/3rdparty/luv/examples/uvbook/helloworld.lua b/3rdparty/luv/examples/uvbook/helloworld.lua
deleted file mode 100644
index 2c77d0c51bc..00000000000
--- a/3rdparty/luv/examples/uvbook/helloworld.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-local uv = require('luv')
-
-print('Now quitting.')
-uv.run('default')
-uv.loop_close()
diff --git a/3rdparty/luv/examples/uvbook/idle-basic.lua b/3rdparty/luv/examples/uvbook/idle-basic.lua
deleted file mode 100644
index dc2a47b3c30..00000000000
--- a/3rdparty/luv/examples/uvbook/idle-basic.lua
+++ /dev/null
@@ -1,14 +0,0 @@
-local uv = require('luv')
-
-local counter = 0
-local idle = uv.new_idle()
-idle:start(function()
- counter = counter + 1
- if counter >= 10e6 then
- idle:stop()
- end
-end)
-
-print("Idling...")
-uv.run('default')
-uv.loop_close() \ No newline at end of file
diff --git a/3rdparty/luv/examples/uvbook/onchange.lua b/3rdparty/luv/examples/uvbook/onchange.lua
deleted file mode 100644
index 07b3f9b1d78..00000000000
--- a/3rdparty/luv/examples/uvbook/onchange.lua
+++ /dev/null
@@ -1,30 +0,0 @@
-local uv = require('luv')
-
-if #arg==0 then
- print(string.format("Usage: %s <command> <file1> [file2 ...]",arg[0]));
- return
-end
-
-for i=1,#arg do
- local fse = uv.new_fs_event()
- assert(uv.fs_event_start(fse,arg[i],{
- --"watch_entry"=true,"stat"=true,
- recursive=true
- },function (err,fname,status)
- if(err) then
- print("Error "..err)
- else
- print(string.format('Change detected in %s',
- uv.fs_event_getpath(fse)))
- for k,v in pairs(status) do
- print(k,v)
- end
- print('file changed:'..(fname and fname or ''))
- end
- end))
-
-end
-
-uv.run('default')
-uv.loop_close()
-
diff --git a/3rdparty/luv/examples/uvbook/queue-work.lua b/3rdparty/luv/examples/uvbook/queue-work.lua
deleted file mode 100644
index cf52abfb216..00000000000
--- a/3rdparty/luv/examples/uvbook/queue-work.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-local uv = require('luv')
-
-local ctx = uv.new_work(
- function(n) --work,in threadpool
- local uv = require('luv')
- local t = uv.thread_self()
- uv.sleep(100)
- return n*n,n
- end,
- function(r,n) print(string.format('%d => %d',n,r)) end --after work, in loop thread
-)
-uv.queue_work(ctx,2)
-uv.queue_work(ctx,4)
-uv.queue_work(ctx,6)
-uv.queue_work(ctx,8)
-uv.queue_work(ctx,10)
-
-uv.run('default')
-uv.loop_close()
diff --git a/3rdparty/luv/examples/uvbook/tcp-echo-client.lua b/3rdparty/luv/examples/uvbook/tcp-echo-client.lua
deleted file mode 100644
index 40dd22a311f..00000000000
--- a/3rdparty/luv/examples/uvbook/tcp-echo-client.lua
+++ /dev/null
@@ -1,21 +0,0 @@
-local uv = require('luv')
-
-
-local client = uv.new_tcp()
-uv.tcp_connect(client, "127.0.0.1", 1337, function (err)
- assert(not err, err)
- uv.read_start(client, function (err, chunk)
- assert(not err, err)
- if chunk then
- print(chunk)
- else
- uv.close(client)
- end
- end)
-
- uv.write(client, "Hello")
- uv.write(client, "World")
-end)
-print('CTRL-C to break')
-uv.run('default')
-uv.loop_close()
diff --git a/3rdparty/luv/examples/uvbook/tcp-echo-server.lua b/3rdparty/luv/examples/uvbook/tcp-echo-server.lua
deleted file mode 100644
index 269c49114cf..00000000000
--- a/3rdparty/luv/examples/uvbook/tcp-echo-server.lua
+++ /dev/null
@@ -1,22 +0,0 @@
-local uv = require('luv')
-
-
-local server = uv.new_tcp()
-server:bind("127.0.0.1", 1337)
-server:listen(128, function (err)
- assert(not err, err)
- local client = uv.new_tcp()
- server:accept(client)
- client:read_start(function (err, chunk)
- assert(not err, err)
- if chunk then
- client:write(chunk)
- else
- client:shutdown()
- client:close()
- end
- end)
-end)
-
-uv.run('default')
-uv.loop_close()
diff --git a/3rdparty/luv/examples/uvbook/thread-create.lua b/3rdparty/luv/examples/uvbook/thread-create.lua
deleted file mode 100644
index 4b42587adbf..00000000000
--- a/3rdparty/luv/examples/uvbook/thread-create.lua
+++ /dev/null
@@ -1,38 +0,0 @@
-local uv = require('luv')
-
-local step = 10
-
-local hare_id = uv.new_thread(function(step,...)
- local ffi = require'ffi'
- local uv = require('luv')
- local sleep
- if ffi.os=='Windows' then
- ffi.cdef "void Sleep(int ms);"
- sleep = ffi.C.Sleep
- else
- ffi.cdef "unsigned int usleep(unsigned int seconds);"
- sleep = ffi.C.usleep
- end
- while (step>0) do
- step = step - 1
- uv.sleep(math.random(1000))
- print("Hare ran another step")
- end
- print("Hare done running!")
-end, step,true,'abcd','false')
-
-local tortoise_id = uv.new_thread(function(step,...)
- local uv = require('luv')
- while (step>0) do
- step = step - 1
- uv.sleep(math.random(100))
- print("Tortoise ran another step")
- end
- print("Tortoise done running!")
-end,step,'abcd','false')
-
-print(hare_id==hare_id,uv.thread_equal(hare_id,hare_id))
-print(tortoise_id==hare_id,uv.thread_equal(tortoise_id,hare_id))
-
-uv.thread_join(hare_id)
-uv.thread_join(tortoise_id)
diff --git a/3rdparty/luv/examples/uvbook/uvcat.lua b/3rdparty/luv/examples/uvbook/uvcat.lua
deleted file mode 100644
index 99fdd68000b..00000000000
--- a/3rdparty/luv/examples/uvbook/uvcat.lua
+++ /dev/null
@@ -1,37 +0,0 @@
-local uv = require('luv')
-
-
-local fname = arg[1] and arg[1] or arg[0]
-
-uv.fs_open(fname, 'r', tonumber('644', 8), function(err,fd)
- if err then
- print("error opening file:"..err)
- else
- local stat = uv.fs_fstat(fd)
- local off = 0
- local block = 10
-
- local function on_read(err,chunk)
- if(err) then
- print("Read error: "..err);
- elseif #chunk==0 then
- uv.fs_close(fd)
- else
- off = block + off
- uv.fs_write(1,chunk,-1,function(err,chunk)
- if err then
- print("Write error: "..err)
- else
- uv.fs_read(fd, block, off, on_read)
- end
- end)
- end
- end
- uv.fs_read(fd, block, off, on_read)
- end
-end)
-
-
-
-uv.run('default')
-uv.loop_close()
diff --git a/3rdparty/luv/examples/uvbook/uvtee.lua b/3rdparty/luv/examples/uvbook/uvtee.lua
deleted file mode 100644
index c91b066ae21..00000000000
--- a/3rdparty/luv/examples/uvbook/uvtee.lua
+++ /dev/null
@@ -1,35 +0,0 @@
-local uv = require('luv')
-
-if not arg[1] then
- print(string.format("please run %s filename",arg[0]))
- return
-end
-
-
-local stdin = uv.new_tty(0, true)
-local stdout = uv.new_tty(1, true)
---local stdin_pipe = uv.new_pipe(false)
---uv.pipe_open(stdin_pipe,0)
-
-local fname = arg[1]
-
-uv.fs_open(fname, 'w+', tonumber('644', 8), function(err,fd)
- if err then
- print("error opening file:"..err)
- else
- local fpipe = uv.new_pipe(false)
- uv.pipe_open(fpipe, fd)
-
- uv.read_start(stdin, function(err,chunk)
- if err then
- print('Read error: '..err)
- else
- uv.write(stdout,chunk)
- uv.write(fpipe,chunk)
- end
- end);
- end
-end)
-
-uv.run('default')
-uv.loop_close()