luasocket/test/tcp-getoptions

58 lines
917 B
Lua
Executable File

#!/usr/bin/env lua
local socket = require"socket"
port = 8765
function pcalltest(msg, o, opt)
local a = { pcall(o.getoption, o, opt) }
if a[1] then
print(msg, opt, unpack(a))
else
print(msg, opt, 'fail: ' .. a[2])
end
end
function options(o)
print("options for", o)
for _, opt in ipairs{
"keepalive", "reuseaddr",
"tcp-nodelay", "tcp-keepidle", "tcp-keepcnt", "tcp-keepintvl"} do
pcalltest("getoption", o, opt)
end
r = o:getoption'linger'
if r then
print("getoption", "linger",
"on", r.on,
"timeout", r.timeout)
else
print("getoption", "linger", "no result")
end
end
local m = socket.tcp()
options(m)
assert(m:bind("*", port))
assert(m:listen())
options(m)
m:close()
local m = socket.bind("*", port)
options(m)
local c = socket.connect("localhost", port)
options(c)
local s = m:accept()
options(s)