This is the woo Reference Manual, version 0.12.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 08:06:32 2024 GMT+0.
woo/woo.asd
woo/src/woo.lisp
woo/src/response.lisp
woo/src/ev.lisp
woo/src/worker.lisp
woo/src/queue.lisp
woo/src/ev-packages/event-loop.lisp
woo/src/ev-packages/socket.lisp
woo/src/ev-packages/tcp.lisp
woo/src/ev-packages/condition.lisp
woo/src/ev-packages/util.lisp
woo/src/ssl.lisp
woo/src/llsocket/package.lisp
woo/src/llsocket/grovel.lisp
woo/src/llsocket/cffi.lisp
woo/src/syscall/package.lisp
woo/src/syscall/types.lisp
woo/src/syscall/main.lisp
woo/src/signal.lisp
woo/src/specials.lisp
woo/src/util.lisp
The main system appears first, followed by any subsystem dependency.
woo
An asynchronous HTTP server written in Common Lisp
Eitaro Fukamachi
MIT
0.12.0
cffi-grovel
(system).
lev
(system).
clack-socket
(system).
swap-bytes
(system).
cffi
(system).
static-vectors
(system).
bordeaux-threads
(system).
fast-http
(system).
quri
(system).
fast-io
(system).
smart-buffer
(system).
trivial-utf-8
(system).
trivial-mimes
(system).
vom
(system).
alexandria
(system).
sb-posix
(system)., for feature :sbcl
uiop
(system)., for feature (:and :linux (:not :asdf3))
sb-concurrency
(system)., for feature :sbcl
cl-speedy-queue
(system)., for feature (:not :sbcl)
cl+ssl
(system)., for feature (:not :woo-no-ssl)
src
(module).
Modules are listed depth-first from the system components tree.
woo/src
woo
(system).
woo.lisp
(file).
response.lisp
(file).
ev.lisp
(file).
worker.lisp
(file).
queue.lisp
(file).
ev-packages
(module).
ssl.lisp
(file).
llsocket
(module).
syscall
(module).
signal.lisp
(file).
specials.lisp
(file).
util.lisp
(file).
woo/src/ev-packages
src
(module).
event-loop.lisp
(file).
socket.lisp
(file).
tcp.lisp
(file).
condition.lisp
(file).
util.lisp
(file).
woo/src/llsocket
syscall
(module).
src
(module).
package.lisp
(file).
grovel.lisp
(file).
cffi.lisp
(file).
woo/src/syscall
src
(module).
package.lisp
(file).
types.lisp
(file).
main.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
woo/woo.asd
woo/src/woo.lisp
woo/src/response.lisp
woo/src/ev.lisp
woo/src/worker.lisp
woo/src/queue.lisp
woo/src/ev-packages/event-loop.lisp
woo/src/ev-packages/socket.lisp
woo/src/ev-packages/tcp.lisp
woo/src/ev-packages/condition.lisp
woo/src/ev-packages/util.lisp
woo/src/ssl.lisp
woo/src/llsocket/package.lisp
woo/src/llsocket/grovel.lisp
woo/src/llsocket/cffi.lisp
woo/src/syscall/package.lisp
woo/src/syscall/types.lisp
woo/src/syscall/main.lisp
woo/src/signal.lisp
woo/src/specials.lisp
woo/src/util.lisp
woo/src/woo.lisp
ev.lisp
(file).
response.lisp
(file).
worker.lisp
(file).
ssl.lisp
(file).
signal.lisp
(file).
specials.lisp
(file).
util.lisp
(file).
src
(module).
woo
.
*default-backlog-size*
(special variable).
*default-worker-num*
(special variable).
close-socket
(method).
flush-socket-buffer
(method).
(setf read-callback)
(method).
read-callback
(method).
run
(function).
socket-async-p
(method).
stop
(function).
write-byte-to-socket
(method).
write-byte-to-socket-buffer
(method).
write-sequence-to-socket
(method).
write-sequence-to-socket-buffer
(method).
*stat*
(special variable).
error-invalid-http-version
(function).
fd-file-size
(function).
handle-normal-response
(function).
handle-request
(function).
handle-response
(function).
http-version-keyword
(function).
invalid-http-version
(condition).
list-body-chunk-to-octets
(function).
make-streaming-writer
(function).
parse-host-header
(function).
read-cb
(function).
setup-parser
(function).
woo-error
(condition).
woo/src/response.lisp
ev.lisp
(file).
src
(module).
*crlf*
(special variable).
*empty-bytes*
(special variable).
*empty-chunk*
(special variable).
finish-response
(function).
response-headers-bytes
(function).
write-body-chunk
(function).
write-response-headers
(function).
write-socket-crlf
(function).
write-socket-string
(function).
write-string-body-chunk
(function).
*date-header*
(special variable).
*status-line*
(special variable).
current-rfc-1123-timestamp
(function).
http/1.1
(function).
integer-to-character
(function).
status-code-to-text
(function).
woo/src/ev.lisp
ev-packages
(module).
src
(module).
woo/src/worker.lisp
ev.lisp
(file).
queue.lisp
(file).
specials.lisp
(file).
src
(module).
add-job-to-cluster
(function).
kill-cluster
(function).
make-cluster
(function).
stop-cluster
(function).
%make-cluster
(function).
%make-worker
(function).
*worker*
(special variable).
*worker-counter*
(special variable).
add-job
(function).
cluster
(structure).
cluster-circular-workers
(reader).
(setf cluster-circular-workers)
(writer).
cluster-p
(function).
cluster-running-workers
(function).
cluster-workers
(reader).
(setf cluster-workers)
(writer).
copy-cluster
(function).
copy-worker
(function).
finalize-worker
(function).
kill-worker
(function).
make-worker
(function).
notify-new-job
(function).
stop-worker
(function).
worker
(structure).
worker-dequeue-async
(reader).
(setf worker-dequeue-async)
(writer).
worker-evloop
(reader).
(setf worker-evloop)
(writer).
worker-id
(reader).
(setf worker-id)
(writer).
worker-p
(function).
worker-process-fn
(reader).
(setf worker-process-fn)
(writer).
worker-queue
(reader).
(setf worker-queue)
(writer).
worker-status
(reader).
(setf worker-status)
(writer).
worker-stop-async
(reader).
(setf worker-stop-async)
(writer).
worker-thread
(reader).
(setf worker-thread)
(writer).
woo/src/ev-packages/event-loop.lisp
ev-packages
(module).
*buffer-size*
(special variable).
*data-registry*
(special variable).
*evloop*
(special variable).
*input-buffer*
(special variable).
callbacks
(function).
(setf callbacks)
(function).
check-event-loop-running
(function).
deref-data-from-pointer
(function).
(setf deref-data-from-pointer)
(function).
remove-callbacks
(function).
remove-pointer-from-registry
(function).
with-event-loop
(macro).
*callbacks*
(special variable).
woo/src/ev-packages/socket.lisp
event-loop.lisp
(file).
condition.lisp
(file).
util.lisp
(file).
ev-packages
(module).
check-socket-open
(function).
close-socket
(function).
flush-buffer
(function).
make-socket
(function).
send-static-file
(function).
socket
(structure).
socket-data
(reader).
(setf socket-data)
(writer).
socket-last-activity
(reader).
(setf socket-last-activity)
(writer).
socket-open-p
(reader).
(setf socket-open-p)
(writer).
socket-read-cb
(reader).
(setf socket-read-cb)
(writer).
socket-read-watcher
(function).
socket-remote-addr
(reader).
(setf socket-remote-addr)
(writer).
socket-remote-port
(reader).
(setf socket-remote-port)
(writer).
socket-ssl-handle
(reader).
(setf socket-ssl-handle)
(writer).
socket-timeout-timer
(function).
socket-write-watcher
(function).
with-async-writing
(macro).
write-socket-byte
(function).
write-socket-data
(function).
write-socket-stream
(function).
%make-socket
(function).
async-write
(function).
async-write-cb
(function).
buffer-empty-p
(function).
copy-socket
(function).
free-watchers
(function).
reset-buffer
(function).
send-file
(function).
socket-buffer
(reader).
(setf socket-buffer)
(writer).
socket-fd
(reader).
(setf socket-fd)
(writer).
socket-p
(function).
socket-sendfile-fd
(reader).
(setf socket-sendfile-fd)
(writer).
socket-sendfile-offset
(reader).
(setf socket-sendfile-offset)
(writer).
socket-sendfile-size
(reader).
(setf socket-sendfile-size)
(writer).
socket-tcp-read-cb
(reader).
(setf socket-tcp-read-cb)
(writer).
socket-watchers
(reader).
(setf socket-watchers)
(writer).
socket-write-cb
(reader).
(setf socket-write-cb)
(writer).
woo/src/ev-packages/tcp.lisp
event-loop.lisp
(file).
socket.lisp
(file).
util.lisp
(file).
condition.lisp
(file).
ev-packages
(module).
*connection-timeout*
(special variable).
close-tcp-server
(function).
start-listening-socket
(function).
tcp-server
(function).
with-sockaddr
(macro).
*dummy-sockaddr*
(special variable).
*dummy-socklen*
(special variable).
*dummy-sockstring*
(special variable).
get-remote-addr-and-port
(function).
listen-on
(function).
listen-on-fd
(function).
listen-on-unix
(function).
make-listener
(function).
tcp-accept-cb
(function).
tcp-read-cb
(function).
timeout-cb
(function).
woo/src/ev-packages/condition.lisp
ev-packages
(module).
os-error
(condition).
socket-closed
(condition).
tcp-error
(condition).
woo-error
(condition).
woo/src/ev-packages/util.lisp
ev-packages
(module).
define-c-callback
(macro).
io-fd
(function).
woo/src/ssl.lisp
(:not :woo-no-ssl)
ev-packages
(module).
src
(module).
init-ssl-handle
(function).
woo/src/llsocket/package.lisp
llsocket
(module).
so-reuseport-available-p
(function).
woo/src/llsocket/grovel.lisp
package.lisp
(file).
llsocket
(module).
woo/src/llsocket/cffi.lisp
grovel.lisp
(file).
llsocket
(module).
accept
(function).
accept4
(function).
bind
(function).
connect
(function).
freeaddrinfo
(function).
getaddrinfo
(function).
getpeername
(function).
getsockname
(function).
getsockopt
(function).
inet-ntoa
(function).
inet-ntop
(function).
listen
(function).
recvfrom
(function).
recvmsg
(function).
sendmsg
(function).
sendto
(function).
setsockopt
(function).
shutdown
(function).
socket
(function).
socketpair
(function).
woo/src/syscall/types.lisp
package.lisp
(file).
syscall
(module).
woo/src/syscall/main.lisp
types.lisp
(file).
syscall
(module).
%fcntl/int
(function).
%fcntl/noarg
(function).
%open
(function).
%sendfile
(function).
f-getfl
(constant).
f-setfl
(constant).
o-nonblock
(constant).
woo/src/signal.lisp
ev.lisp
(file).
worker.lisp
(file).
specials.lisp
(file).
src
(module).
make-signal-watchers
(function).
start-signal-watchers
(function).
stop-signal-watchers
(function).
*signals*
(special variable).
woo/src/specials.lisp
src
(module).
*app*
(special variable).
*cluster*
(special variable).
*debug*
(special variable).
*listener*
(special variable).
default-thread-bindings
(function).
woo/src/util.lisp
src
(module).
integer-string-p
(function).
Packages are listed by definition order.
woo.specials
woo.signal
woo.ev.socket
woo.ev.condition
woo.ev
woo.syscall
woo.ev.event-loop
woo.ev.util
woo.util
woo.queue
woo.ev.tcp
woo.ssl
woo.worker
woo.response
woo
woo.llsocket
woo.specials
common-lisp
.
*app*
(special variable).
*cluster*
(special variable).
*debug*
(special variable).
*listener*
(special variable).
default-thread-bindings
(function).
woo.signal
common-lisp
.
woo.specials
.
woo
.
make-signal-watchers
(function).
start-signal-watchers
(function).
stop-signal-watchers
(function).
*signals*
(special variable).
woo.ev.socket
common-lisp
.
check-socket-open
(function).
close-socket
(function).
flush-buffer
(function).
make-socket
(function).
send-static-file
(function).
socket
(structure).
socket-data
(reader).
(setf socket-data)
(writer).
socket-last-activity
(reader).
(setf socket-last-activity)
(writer).
socket-open-p
(reader).
(setf socket-open-p)
(writer).
socket-read-cb
(reader).
(setf socket-read-cb)
(writer).
socket-read-watcher
(function).
socket-remote-addr
(reader).
(setf socket-remote-addr)
(writer).
socket-remote-port
(reader).
(setf socket-remote-port)
(writer).
socket-ssl-handle
(reader).
(setf socket-ssl-handle)
(writer).
socket-timeout-timer
(function).
socket-write-watcher
(function).
with-async-writing
(macro).
write-socket-byte
(function).
write-socket-data
(function).
write-socket-stream
(function).
%make-socket
(function).
async-write
(function).
async-write-cb
(function).
buffer-empty-p
(function).
copy-socket
(function).
free-watchers
(function).
reset-buffer
(function).
send-file
(function).
socket-buffer
(reader).
(setf socket-buffer)
(writer).
socket-fd
(reader).
(setf socket-fd)
(writer).
socket-p
(function).
socket-sendfile-fd
(reader).
(setf socket-sendfile-fd)
(writer).
socket-sendfile-offset
(reader).
(setf socket-sendfile-offset)
(writer).
socket-sendfile-size
(reader).
(setf socket-sendfile-size)
(writer).
socket-tcp-read-cb
(reader).
(setf socket-tcp-read-cb)
(writer).
socket-watchers
(reader).
(setf socket-watchers)
(writer).
socket-write-cb
(reader).
(setf socket-write-cb)
(writer).
woo.ev.condition
common-lisp
.
os-error
(condition).
socket-closed
(condition).
tcp-error
(condition).
woo-error
(condition).
woo.syscall
wsys
common-lisp
.
%fcntl/int
(function).
%fcntl/noarg
(function).
%open
(function).
%sendfile
(function).
f-getfl
(constant).
f-setfl
(constant).
o-nonblock
(constant).
woo.ev.event-loop
common-lisp
.
*buffer-size*
(special variable).
*data-registry*
(special variable).
*evloop*
(special variable).
*input-buffer*
(special variable).
callbacks
(function).
(setf callbacks)
(function).
check-event-loop-running
(function).
deref-data-from-pointer
(function).
(setf deref-data-from-pointer)
(function).
remove-callbacks
(function).
remove-pointer-from-registry
(function).
with-event-loop
(macro).
*callbacks*
(special variable).
woo.ev.util
common-lisp
.
define-c-callback
(macro).
io-fd
(function).
woo.ev.tcp
common-lisp
.
*connection-timeout*
(special variable).
close-tcp-server
(function).
start-listening-socket
(function).
tcp-server
(function).
with-sockaddr
(macro).
*dummy-sockaddr*
(special variable).
*dummy-socklen*
(special variable).
*dummy-sockstring*
(special variable).
get-remote-addr-and-port
(function).
listen-on
(function).
listen-on-fd
(function).
listen-on-unix
(function).
make-listener
(function).
tcp-accept-cb
(function).
tcp-read-cb
(function).
timeout-cb
(function).
woo.worker
common-lisp
.
woo.specials
.
add-job-to-cluster
(function).
kill-cluster
(function).
make-cluster
(function).
stop-cluster
(function).
%make-cluster
(function).
%make-worker
(function).
*worker*
(special variable).
*worker-counter*
(special variable).
add-job
(function).
cluster
(structure).
cluster-circular-workers
(reader).
(setf cluster-circular-workers)
(writer).
cluster-p
(function).
cluster-running-workers
(function).
cluster-workers
(reader).
(setf cluster-workers)
(writer).
copy-cluster
(function).
copy-worker
(function).
finalize-worker
(function).
kill-worker
(function).
make-worker
(function).
notify-new-job
(function).
stop-worker
(function).
worker
(structure).
worker-dequeue-async
(reader).
(setf worker-dequeue-async)
(writer).
worker-evloop
(reader).
(setf worker-evloop)
(writer).
worker-id
(reader).
(setf worker-id)
(writer).
worker-p
(function).
worker-process-fn
(reader).
(setf worker-process-fn)
(writer).
worker-queue
(reader).
(setf worker-queue)
(writer).
worker-status
(reader).
(setf worker-status)
(writer).
worker-stop-async
(reader).
(setf worker-stop-async)
(writer).
worker-thread
(reader).
(setf worker-thread)
(writer).
woo.response
common-lisp
.
*crlf*
(special variable).
*empty-bytes*
(special variable).
*empty-chunk*
(special variable).
finish-response
(function).
response-headers-bytes
(function).
write-body-chunk
(function).
write-response-headers
(function).
write-socket-crlf
(function).
write-socket-string
(function).
write-string-body-chunk
(function).
*date-header*
(special variable).
*status-line*
(special variable).
current-rfc-1123-timestamp
(function).
http/1.1
(function).
integer-to-character
(function).
status-code-to-text
(function).
woo
clack.handler.woo
common-lisp
.
woo.signal
.
woo.specials
.
*default-backlog-size*
(special variable).
*default-worker-num*
(special variable).
run
(function).
stop
(function).
*stat*
(special variable).
error-invalid-http-version
(function).
fd-file-size
(function).
handle-normal-response
(function).
handle-request
(function).
handle-response
(function).
http-version-keyword
(function).
invalid-http-version
(condition).
list-body-chunk-to-octets
(function).
make-streaming-writer
(function).
parse-host-header
(function).
read-cb
(function).
setup-parser
(function).
woo-error
(condition).
woo.llsocket
wsock
common-lisp
.
accept
(function).
accept4
(function).
bind
(function).
connect
(function).
freeaddrinfo
(function).
getaddrinfo
(function).
getpeername
(function).
getsockname
(function).
getsockopt
(function).
inet-ntoa
(function).
inet-ntop
(function).
listen
(function).
recvfrom
(function).
recvmsg
(function).
sendmsg
(function).
sendto
(function).
setsockopt
(function).
shutdown
(function).
so-reuseport-available-p
(function).
socket
(function).
socketpair
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Define a top-level function with the given and also define a C callback that calls the function directly. The idea is that CFFI callbacks aren’t directly callable/debuggable, but it’s obnoxious to have to define and callback *and* a function right next to each other.
data
.
socket
) data &key callback) ¶clack.socket
.
(quote "socket is already closed")
:description
structure-object
.
(simple-array cffi-sys:foreign-pointer (3))
(make-array 3 :element-type (quote cffi-sys:foreign-pointer) :initial-contents (list (cffi:foreign-alloc (quote (:struct lev:ev-io))) (cffi:foreign-alloc (quote (:struct lev:ev-io))) (cffi:foreign-alloc (quote (:struct lev:ev-timer)))))
double-float
(lev:ev-now woo.ev.event-loop:*evloop*)
fixnum
symbol
(or null function)
(or null function)
(or null cffi-sys:foreign-pointer)
boolean
t
(fast-io:make-output-buffer)
(or null fixnum)
(or null integer)
(or null integer)
0
structure-object
.
(incf woo.worker::*worker-counter*)
(sb-concurrency:make-queue)
:running
Jump to: | %
(
A B C D E F G H I K L M N O P R S T W |
---|
Jump to: | %
(
A B C D E F G H I K L M N O P R S T W |
---|
Jump to: | *
B C D E F I L O P Q R S T W |
---|
Jump to: | *
B C D E F I L O P Q R S T W |
---|
Jump to: | C E F G I L M O P Q R S T U W |
---|
Jump to: | C E F G I L M O P Q R S T U W |
---|