local { scheduler, socket } = require "*"
function socket.bind(sched, port, callback)
sched:add(function()
local l = socket.listen(port)
while s := l:accept() do
sched:add(function()
callback(s)
end)
end
end)
end
local sched = new scheduler()
socket.bind(sched, 80, |s| -> do
print(s:recv())
end)
--[[socket.bind(sched, 443, |s| -> do
if s:starttls() then -- TODO: Certificate?
print(s:recv())
end
end)]]
sched:run()
Preliminary API design: