summaryrefslogtreecommitdiffstatshomepage
path: root/plugins/coro-net
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/coro-net')
-rw-r--r--plugins/coro-net/LICENSE22
-rw-r--r--plugins/coro-net/README.md2
-rw-r--r--plugins/coro-net/init.lua113
-rw-r--r--plugins/coro-net/plugin.json8
4 files changed, 0 insertions, 145 deletions
diff --git a/plugins/coro-net/LICENSE b/plugins/coro-net/LICENSE
deleted file mode 100644
index 5789b767285..00000000000
--- a/plugins/coro-net/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2015 Tim Caswell
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
diff --git a/plugins/coro-net/README.md b/plugins/coro-net/README.md
deleted file mode 100644
index c8a94b9980a..00000000000
--- a/plugins/coro-net/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# luv-coro-net
-A luv port of creationix/coro-net from lit.luvit.io
diff --git a/plugins/coro-net/init.lua b/plugins/coro-net/init.lua
deleted file mode 100644
index 3ae6c2ad824..00000000000
--- a/plugins/coro-net/init.lua
+++ /dev/null
@@ -1,113 +0,0 @@
-local exports = {}
-exports.name = "creationix/coro-net"
-exports.version = "1.1.1-1"
-exports.dependencies = {
- "creationix/coro-channel@1.2.0"
-}
-exports.homepage = "https://github.com/luvit/lit/blob/master/deps/coro-net.lua"
-exports.description = "An coro style client and server helper for tcp and pipes."
-exports.tags = {"coro", "tcp", "pipe", "net"}
-exports.license = "MIT"
-exports.author = { name = "Tim Caswell" }
-
-local uv = require('luv')
-local wrapStream = require('coro-channel').wrapStream
-
-local function makeCallback(timeout)
- local thread = coroutine.running()
- local timer, done
- if timeout then
- timer = uv.new_timer()
- timer:start(timeout, 0, function ()
- if done then return end
- done = true
- timer:close()
- return assert(coroutine.resume(thread, nil, "timeout"))
- end)
- end
- return function (err, data)
- if done then return end
- done = true
- if timer then timer:close() end
- if err then
- return assert(coroutine.resume(thread, nil, err))
- end
- return assert(coroutine.resume(thread, data or true))
- end
-end
-exports.makeCallback = makeCallback
-
-local function normalize(options)
- local t = type(options)
- if t == "string" then
- options = {path=options}
- elseif t == "number" then
- options = {port=options}
- elseif t ~= "table" then
- assert("Net options must be table, string, or number")
- end
- if options.port or options.host then
- return true,
- options.host or "127.0.0.1",
- assert(options.port, "options.port is required for tcp connections")
- elseif options.path then
- return false, options.path
- else
- error("Must set either options.path or options.port")
- end
-end
-
-function exports.connect(options)
- local socket, success, err
- local isTcp, host, port = normalize(options)
- if isTcp then
- assert(uv.getaddrinfo(host, port, {
- socktype = options.socktype or "stream",
- family = options.family or "inet",
- }, makeCallback(options.timeout)))
- local res
- res, err = coroutine.yield()
- if not res then return nil, err end
- socket = uv.new_tcp()
- socket:connect(res[1].addr, res[1].port, makeCallback(options.timeout))
- else
- socket = uv.new_pipe(false)
- socket:connect(host, makeCallback(options.timeout))
- end
- success, err = coroutine.yield()
- if not success then return nil, err end
- local read, write = wrapStream(socket)
- return read, write, socket
-end
-
-function exports.createServer(options, onConnect)
- local server
- local isTcp, host, port = normalize(options)
- if isTcp then
- server = uv.new_tcp()
- assert(server:bind(host, port))
- else
- server = uv.new_pipe(false)
- assert(server:bind(host))
- end
- assert(server:listen(256, function (err)
- assert(not err, err)
- local socket = isTcp and uv.new_tcp() or uv.new_pipe(false)
- server:accept(socket)
- coroutine.wrap(function ()
- local success, failure = xpcall(function ()
- local read, write = wrapStream(socket)
- return onConnect(read, write, socket)
- end, debug.traceback)
- if not success then
- print(failure)
- end
- if not socket:is_closing() then
- socket:close()
- end
- end)()
- end))
- return server
-end
-
-return exports
diff --git a/plugins/coro-net/plugin.json b/plugins/coro-net/plugin.json
deleted file mode 100644
index cf839aad881..00000000000
--- a/plugins/coro-net/plugin.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "plugin": {
- "name": "coro-net",
- "version": "1.1.1-1",
- "author": "Tim Caswell",
- "type": "library",
- }
-} \ No newline at end of file