diff options
author | Diego Nehab <diego@tecgraf.puc-rio.br> | 2004-06-04 15:15:45 +0000 |
---|---|---|
committer | Diego Nehab <diego@tecgraf.puc-rio.br> | 2004-06-04 15:15:45 +0000 |
commit | 9ed7f955e5fc69af9bf1794fa2c8cd227981ba24 (patch) | |
tree | 8c3521366ef84f534bbec278437be7ea24e2ac1c /src/ltn12.lua | |
parent | 63d60223da9de60f873ca08a25dbd9512c998929 (diff) | |
download | luasocket-9ed7f955e5fc69af9bf1794fa2c8cd227981ba24.tar.gz luasocket-9ed7f955e5fc69af9bf1794fa2c8cd227981ba24.tar.bz2 luasocket-9ed7f955e5fc69af9bf1794fa2c8cd227981ba24.zip |
Só pra não perder se der merda.
Diffstat (limited to 'src/ltn12.lua')
-rw-r--r-- | src/ltn12.lua | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/src/ltn12.lua b/src/ltn12.lua index 56e6043..41855f0 100644 --- a/src/ltn12.lua +++ b/src/ltn12.lua | |||
@@ -1,10 +1,16 @@ | |||
1 | -- create module namespace | 1 | ----------------------------------------------------------------------------- |
2 | ltn12 = ltn12 or {} | 2 | -- LTN12 - Filters, sources, sinks and pumps. |
3 | -- make all globals fall into ltn12 namespace | 3 | -- LuaSocket toolkit. |
4 | -- Author: Diego Nehab | ||
5 | -- RCS ID: $Id$ | ||
6 | ----------------------------------------------------------------------------- | ||
7 | |||
8 | ----------------------------------------------------------------------------- | ||
9 | -- Setup namespace | ||
10 | ----------------------------------------------------------------------------- | ||
11 | local ltn12 = {} | ||
4 | setmetatable(ltn12, { __index = _G }) | 12 | setmetatable(ltn12, { __index = _G }) |
5 | setfenv(1, ltn12) | 13 | setfenv(1, ltn12) |
6 | |||
7 | -- sub namespaces | ||
8 | filter = {} | 14 | filter = {} |
9 | source = {} | 15 | source = {} |
10 | sink = {} | 16 | sink = {} |
@@ -13,15 +19,14 @@ pump = {} | |||
13 | -- 2048 seems to be better in windows... | 19 | -- 2048 seems to be better in windows... |
14 | BLOCKSIZE = 2048 | 20 | BLOCKSIZE = 2048 |
15 | 21 | ||
16 | local function second(a, b) | ||
17 | return b | ||
18 | end | ||
19 | |||
20 | local function shift(a, b, c) | 22 | local function shift(a, b, c) |
21 | return b, c | 23 | return b, c |
22 | end | 24 | end |
23 | 25 | ||
24 | -- returns a high level filter that cycles a cycles a low-level filter | 26 | ----------------------------------------------------------------------------- |
27 | -- Filter stuff | ||
28 | ----------------------------------------------------------------------------- | ||
29 | -- returns a high level filter that cycles a low-level filter | ||
25 | function filter.cycle(low, ctx, extra) | 30 | function filter.cycle(low, ctx, extra) |
26 | return function(chunk) | 31 | return function(chunk) |
27 | local ret | 32 | local ret |
@@ -61,6 +66,9 @@ function filter.chain(...) | |||
61 | return f | 66 | return f |
62 | end | 67 | end |
63 | 68 | ||
69 | ----------------------------------------------------------------------------- | ||
70 | -- Source stuff | ||
71 | ----------------------------------------------------------------------------- | ||
64 | -- create an empty source | 72 | -- create an empty source |
65 | local function empty() | 73 | local function empty() |
66 | return nil | 74 | return nil |
@@ -162,6 +170,9 @@ function source.cat(...) | |||
162 | end | 170 | end |
163 | end | 171 | end |
164 | 172 | ||
173 | ----------------------------------------------------------------------------- | ||
174 | -- Sink stuff | ||
175 | ----------------------------------------------------------------------------- | ||
165 | -- creates a sink that stores into a table | 176 | -- creates a sink that stores into a table |
166 | function sink.table(t) | 177 | function sink.table(t) |
167 | t = t or {} | 178 | t = t or {} |
@@ -224,6 +235,9 @@ function sink.chain(f, snk) | |||
224 | end | 235 | end |
225 | end | 236 | end |
226 | 237 | ||
238 | ----------------------------------------------------------------------------- | ||
239 | -- Pump stuff | ||
240 | ----------------------------------------------------------------------------- | ||
227 | -- pumps one chunk from the source to the sink | 241 | -- pumps one chunk from the source to the sink |
228 | function pump.step(src, snk) | 242 | function pump.step(src, snk) |
229 | local chunk, src_err = src() | 243 | local chunk, src_err = src() |
@@ -239,3 +253,5 @@ function pump.all(src, snk, step) | |||
239 | if not ret then return not err, err end | 253 | if not ret then return not err, err end |
240 | end | 254 | end |
241 | end | 255 | end |
256 | |||
257 | return ltn12 | ||