diff options
author | Diego Nehab <diego@tecgraf.puc-rio.br> | 2004-06-16 04:28:21 +0000 |
---|---|---|
committer | Diego Nehab <diego@tecgraf.puc-rio.br> | 2004-06-16 04:28:21 +0000 |
commit | 0a4c1534f39511894728da193ab8225ad6022de9 (patch) | |
tree | 683b711accf64eca486b138cbc034c609f93a53a /src/ltn12.lua | |
parent | 8e80e38f2c3121242b3b2f7a45a960c9af4d1a68 (diff) | |
download | luasocket-0a4c1534f39511894728da193ab8225ad6022de9.tar.gz luasocket-0a4c1534f39511894728da193ab8225ad6022de9.tar.bz2 luasocket-0a4c1534f39511894728da193ab8225ad6022de9.zip |
Still work to do in the manual...
Diffstat (limited to 'src/ltn12.lua')
-rw-r--r-- | src/ltn12.lua | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ltn12.lua b/src/ltn12.lua index bb527bd..09771d4 100644 --- a/src/ltn12.lua +++ b/src/ltn12.lua | |||
@@ -23,6 +23,7 @@ BLOCKSIZE = 2048 | |||
23 | ----------------------------------------------------------------------------- | 23 | ----------------------------------------------------------------------------- |
24 | -- returns a high level filter that cycles a low-level filter | 24 | -- returns a high level filter that cycles a low-level filter |
25 | function filter.cycle(low, ctx, extra) | 25 | function filter.cycle(low, ctx, extra) |
26 | assert(low) | ||
26 | return function(chunk) | 27 | return function(chunk) |
27 | local ret | 28 | local ret |
28 | ret, ctx = low(ctx, chunk, extra) | 29 | ret, ctx = low(ctx, chunk, extra) |
@@ -32,6 +33,7 @@ end | |||
32 | 33 | ||
33 | -- chains two filters together | 34 | -- chains two filters together |
34 | local function chain2(f1, f2) | 35 | local function chain2(f1, f2) |
36 | assert(f1 and f2) | ||
35 | local co = coroutine.create(function(chunk) | 37 | local co = coroutine.create(function(chunk) |
36 | while true do | 38 | while true do |
37 | local filtered1 = f1(chunk) | 39 | local filtered1 = f1(chunk) |
@@ -95,6 +97,7 @@ end | |||
95 | 97 | ||
96 | -- turns a fancy source into a simple source | 98 | -- turns a fancy source into a simple source |
97 | function source.simplify(src) | 99 | function source.simplify(src) |
100 | assert(src) | ||
98 | return function() | 101 | return function() |
99 | local chunk, err_or_new = src() | 102 | local chunk, err_or_new = src() |
100 | src = err_or_new or src | 103 | src = err_or_new or src |
@@ -118,6 +121,7 @@ end | |||
118 | 121 | ||
119 | -- creates rewindable source | 122 | -- creates rewindable source |
120 | function source.rewind(src) | 123 | function source.rewind(src) |
124 | assert(src) | ||
121 | local t = {} | 125 | local t = {} |
122 | return function(chunk) | 126 | return function(chunk) |
123 | if not chunk then | 127 | if not chunk then |
@@ -132,6 +136,7 @@ end | |||
132 | 136 | ||
133 | -- chains a source with a filter | 137 | -- chains a source with a filter |
134 | function source.chain(src, f) | 138 | function source.chain(src, f) |
139 | assert(src and f) | ||
135 | local co = coroutine.create(function() | 140 | local co = coroutine.create(function() |
136 | while true do | 141 | while true do |
137 | local chunk, err = src() | 142 | local chunk, err = src() |
@@ -186,6 +191,7 @@ end | |||
186 | 191 | ||
187 | -- turns a fancy sink into a simple sink | 192 | -- turns a fancy sink into a simple sink |
188 | function sink.simplify(snk) | 193 | function sink.simplify(snk) |
194 | assert(snk) | ||
189 | return function(chunk, err) | 195 | return function(chunk, err) |
190 | local ret, err_or_new = snk(chunk, err) | 196 | local ret, err_or_new = snk(chunk, err) |
191 | if not ret then return nil, err_or_new end | 197 | if not ret then return nil, err_or_new end |
@@ -224,6 +230,7 @@ end | |||
224 | 230 | ||
225 | -- chains a sink with a filter | 231 | -- chains a sink with a filter |
226 | function sink.chain(f, snk) | 232 | function sink.chain(f, snk) |
233 | assert(f and snk) | ||
227 | return function(chunk, err) | 234 | return function(chunk, err) |
228 | local filtered = f(chunk) | 235 | local filtered = f(chunk) |
229 | local done = chunk and "" | 236 | local done = chunk and "" |
@@ -248,6 +255,7 @@ end | |||
248 | 255 | ||
249 | -- pumps all data from a source to a sink, using a step function | 256 | -- pumps all data from a source to a sink, using a step function |
250 | function pump.all(src, snk, step) | 257 | function pump.all(src, snk, step) |
258 | assert(src and snk) | ||
251 | step = step or pump.step | 259 | step = step or pump.step |
252 | while true do | 260 | while true do |
253 | local ret, err = step(src, snk) | 261 | local ret, err = step(src, snk) |