about summary refs log tree commit diff stats
path: root/apps
Commit message (Expand)AuthorAgeFilesLines
...
* 6390 - return `length` in elementsKartik Agaram2020-05-242-22/+88
* 6388 - fix regression #1Kartik Agaram2020-05-242-19/+118
* 6387Kartik Agaram2020-05-232-19/+69
* 6382 - re-enable mu.subx in CIKartik Agaram2020-05-2211-21/+21
* update binariesKartik Agaram2020-05-2213-0/+0
* increase some buffer sizesKartik Agaram2020-05-221-2/+2
* mu.subx is now using handles everywhereKartik Agaram2020-05-221-5/+8
* mu.subx: 4 failing tests remainingKartik Agaram2020-05-221-11/+37
* mu.subx: 6 failing tests remainingKartik Agaram2020-05-221-97/+313
* mu.subx: 7 failing tests remainingKartik Agaram2020-05-211-10/+14
* mu.subx: 9 failing tests remainingKartik Agaram2020-05-211-29/+40
* mu.subx: 11 failing tests remainingKartik Agaram2020-05-211-30/+40
* mu.subx: 13 failing tests remainingKartik Agaram2020-05-211-11/+13
* mu.subx: 2 new testsKartik Agaram2020-05-201-0/+97
* mu.subx: 15 failing tests remainingKartik Agaram2020-05-201-9/+10
* mu.subx: 17 failing tests remainingKartik Agaram2020-05-201-17/+18
* -Kartik Agaram2020-05-201-6/+4
* mu.subx: 21 failing tests remainingKartik Agaram2020-05-201-5/+5
* mu.subx: 24 failing tests remainingKartik Agaram2020-05-201-49/+54
* mu.subx: 25 failing tests remainingKartik Agaram2020-05-201-6/+21
* mu.subx: 26 failing tests remainingKartik Agaram2020-05-201-9/+11
* mu.subx: 28 failing tests remainingKartik Agaram2020-05-201-10/+35
* mu.subx: 34 failing tests remainingKartik Agaram2020-05-201-36/+49
* -Kartik Agaram2020-05-201-4/+4
* mu.subx: 37 failing tests remainingKartik Agaram2020-05-201-11/+13
* mu.subx: 39 failing tests remainingKartik Agaram2020-05-201-31/+31
* mu.subx: start tracking remaining failing testsKartik Agaram2020-05-201-40/+40
* mu.subx: 10/50 top-level tests passingKartik Agaram2020-05-181-2/+3
* mu.subx: 6/50 top-level tests passingKartik Agaram2020-05-181-8/+16
* mu.subx: 4/50 top-level tests passingKartik Agaram2020-05-181-1/+2
* mu.subx: 3/50 top-level tests passingKartik Agaram2020-05-181-1/+1
* mu.subx: 2/50 top-level tests passingKartik Agaram2020-05-181-31/+33
* mu.subx: done with code-generation testsKartik Agaram2020-05-181-18/+44
* mu.subx: test-emit-subx-stmt-function-callKartik Agaram2020-05-181-30/+73
* mu.subx: test-compare-reg-with-literalKartik Agaram2020-05-181-21/+68
* mu.subx: test-compare-eax-with-literalKartik Agaram2020-05-181-22/+70
* mu.subx: compare-mem-with-literalKartik Agaram2020-05-181-21/+64
* mu.subx: test-compare-reg-with-memKartik Agaram2020-05-181-19/+61
* mu.subx: test-compare-mem-with-regKartik Agaram2020-05-181-22/+65
* mu.subx: test-add-literal-to-memKartik Agaram2020-05-181-20/+63
* mu.subx: test-add-literal-to-regKartik Agaram2020-05-181-32/+82
* mu.subx: test-add-literal-to-eaxKartik Agaram2020-05-181-23/+72
* mu.subx: test-add-mem-to-regKartik Agaram2020-05-181-18/+61
* -Kartik Agaram2020-05-181-34/+34
* -Kartik Agaram2020-05-181-254/+272
* mu.subx: test-add-reg-to-memKartik Agaram2020-05-181-20/+64
* mu.subx: test-add-reg-to-reg passingKartik Agaram2020-05-181-12/+15
* mu.subx: add handles to remaining declsKartik Agaram2020-05-181-20/+102
* mu.subx: next test now successfully scans primitivesKartik Agaram2020-05-181-16/+63
* mu.subx: switch SubX instruction names to globalsKartik Agaram2020-05-181-81/+81
lass="s2">"nil"] if not f then error("unknown key (".. tostring(name) ..")", 3) else return f(opt1, opt2) end end end ----------------------------------------------------------------------------- -- Socket sources and sinks, conforming to LTN12 ----------------------------------------------------------------------------- -- create namespaces inside LuaSocket namespace local sourcet, sinkt = {}, {} _M.sourcet = sourcet _M.sinkt = sinkt _M.BLOCKSIZE = 2048 sinkt["close-when-done"] = function(sock) return setmetatable({ getfd = function() return sock:getfd() end, dirty = function() return sock:dirty() end }, { __call = function(self, chunk, err) if not chunk then sock:close() return 1 else return sock:send(chunk) end end }) end sinkt["keep-open"] = function(sock) return setmetatable({ getfd = function() return sock:getfd() end, dirty = function() return sock:dirty() end }, { __call = function(self, chunk, err) if chunk then return sock:send(chunk) else return 1 end end }) end sinkt["default"] = sinkt["keep-open"] _M.sink = _M.choose(sinkt) sourcet["by-length"] = function(sock, length) return setmetatable({ getfd = function() return sock:getfd() end, dirty = function() return sock:dirty() end }, { __call = function() if length <= 0 then return nil end local size = math.min(socket.BLOCKSIZE, length) local chunk, err = sock:receive(size) if err then return nil, err end length = length - string.len(chunk) return chunk end }) end sourcet["until-closed"] = function(sock) local done return setmetatable({ getfd = function() return sock:getfd() end, dirty = function() return sock:dirty() end }, { __call = function() if done then return nil end local chunk, err, partial = sock:receive(socket.BLOCKSIZE) if not err then return chunk elseif err == "closed" then sock:close() done = 1 return partial else return nil, err end end }) end sourcet["default"] = sourcet["until-closed"] _M.source = _M.choose(sourcet) return _M