aboutsummaryrefslogtreecommitdiff
path: root/docs/tcp.html (follow)
Commit message (Collapse)AuthorAgeFilesLines
* docs: document socket.unix and socket.serial, fix stale/missing API referencesdocs/pre-release-auditThijs Schreijer2 days1-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | Pre-release documentation audit against master. Adds the two fully undocumented modules and closes gaps found by diffing every docs/*.html page against its corresponding source: - New docs/unix.html and docs/serial.html (socket.unix stream/dgram and socket.serial were never documented), linked from index.html, introduction.html, socket.html and reference.html. serial.html notes the current lack of a baud/parity/flow-control API and includes an os.execute+stty workaround example. Both note Windows is unsupported. - socket.html: document headers.setcanonic, point to unix/serial modules. - tcp.html: document getfamily, setpeername/setsockname aliases. - udp.html: document getfamily, getfd/setfd, dirty; document the ipv6-multicast-hops/ipv6-unicast-hops aliasing as current (known-buggy) behavior rather than the originally intended semantics. - http.html: correct redirect text (301/302/303/307/308, was 301/302 only); document MAXHEADERLINE/MAXHEADERSIZE. - dns.html: document getnameinfo. - ltn12.html: document source.rewind and BLOCKSIZE. - installation.html: fix stale "LuaSocket 3.0" sample output to 3.1.0. - reference.html: index every anchor added above plus new Unix/Serial blocks.
* Merge pull request #463 from lunarmodules/feat/receive-limitCaleb Maclennan3 days1-10/+22
|\ | | | | feat(receive): add maxsize argument to bound memory usage
| * chore(docs): some cleanupThijs Schreijer2026-08-171-46/+6
| |
| * feat(receive): add maxsize argument to bound memory usageThijs Schreijer2026-07-301-3/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | client:receive("*l") and receive("*a") are unbounded: a peer that never sends a newline, or never closes, makes LuaSocket buffer until the process runs out of memory (e.g. src/http.lua reading response headers in a loop). Add an optional maxsize argument that caps the payload a single call may accumulate, including prefix. - Hoist all argument validation ahead of timeout_markstart() so bad calls (maxsize < 1, #prefix >= maxsize, numeric pattern > maxsize) raise before any I/O and leave the socket untouched. - recvline/recvall take a budget and return a new internal BUF_OVERSIZED code, surfaced to Lua as the "oversized" error alongside "timeout"/"closed", with the partial held in the 3rd return value. - recvraw is left untouched: argument checks make the cap unreachable for numeric patterns. - Preserve three invariants: a timeout partial is always shorter than maxsize (safe to retry as prefix), completion beats the cap for *a, and no bytes are lost or skipped on overflow. - tcp.c, unixstream.c and serial.c all share this code path unchanged. Adds test coverage (argument errors, *l/*a boundaries, timeout/close at the cap, the drain idiom, numeric patterns, unix-stream mirror) and documents the new argument, error, and recovery idioms in docs/tcp.html.
* | chore(docs): add docs for SO_EXCLUSIVEADDRUSE and othersThijs Schreijer3 days1-1/+30
|/ | | | | Adds docs for the option, but also adds the docs for other options present in the code but missing from the docs.
* feat(tcp): Add support for TCP Defer AcceptKim Alvefur2022-07-271-0/+2
| | | | | | | | This makes it so that a listening socket does not become readable for accept() until a connection has been fully established *and* started sending something, thus the program doesn't have to wait for the first data. This only makes sense for client-speaks-first protocols. Co-authored-by: Caleb Maclennan <caleb@alerque.com>
* feat(tcp): Add support for TCP Fast OpenKim Alvefur2022-07-271-0/+4
|
* Move doc→docs so we can serve it with GitHub PagesCaleb Maclennan2022-03-231-0/+732