This is the woo Reference Manual, version 0.12.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Jul 15 07:06:00 2025 GMT+0.
woo/woo.asdwoo/src/woo.lispwoo/src/response.lispwoo/src/ev.lispwoo/src/worker.lispwoo/src/queue.lispwoo/src/ev-packages/event-loop.lispwoo/src/ev-packages/socket.lispwoo/src/ev-packages/tcp.lispwoo/src/ev-packages/condition.lispwoo/src/ev-packages/util.lispwoo/src/ssl.lispwoo/src/llsocket/package.lispwoo/src/llsocket/grovel.lispwoo/src/llsocket/cffi.lispwoo/src/syscall/package.lispwoo/src/syscall/types.lispwoo/src/syscall/main.lispwoo/src/signal.lispwoo/src/specials.lispwoo/src/util.lispThe main system appears first, followed by any subsystem dependency.
wooAn 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/srcwoo (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-packagessrc (module).
event-loop.lisp (file).
socket.lisp (file).
tcp.lisp (file).
condition.lisp (file).
util.lisp (file).
woo/src/llsocketsyscall (module).
src (module).
package.lisp (file).
grovel.lisp (file).
cffi.lisp (file).
woo/src/syscallsrc (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.asdwoo/src/woo.lispwoo/src/response.lispwoo/src/ev.lispwoo/src/worker.lispwoo/src/queue.lispwoo/src/ev-packages/event-loop.lispwoo/src/ev-packages/socket.lispwoo/src/ev-packages/tcp.lispwoo/src/ev-packages/condition.lispwoo/src/ev-packages/util.lispwoo/src/ssl.lispwoo/src/llsocket/package.lispwoo/src/llsocket/grovel.lispwoo/src/llsocket/cffi.lispwoo/src/syscall/package.lispwoo/src/syscall/types.lispwoo/src/syscall/main.lispwoo/src/signal.lispwoo/src/specials.lispwoo/src/util.lispwoo/src/woo.lispev.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.lispev.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.lispev-packages (module).
src (module).
woo/src/worker.lispev.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.lispev-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.lispevent-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.lispevent-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.lispev-packages (module).
os-error (condition).
socket-closed (condition).
tcp-error (condition).
woo-error (condition).
woo/src/ev-packages/util.lispev-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.lispllsocket (module).
so-reuseport-available-p (function).
woo/src/llsocket/grovel.lisppackage.lisp (file).
llsocket (module).
woo/src/llsocket/cffi.lispgrovel.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.lisppackage.lisp (file).
syscall (module).
woo/src/syscall/main.lisptypes.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.lispev.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.lispsrc (module).
*app* (special variable).
*cluster* (special variable).
*debug* (special variable).
*listener* (special variable).
default-thread-bindings (function).
woo/src/util.lispsrc (module).
integer-string-p (function).
Packages are listed by definition order.
woo.specialswoo.signalwoo.ev.socketwoo.ev.conditionwoo.evwoo.syscallwoo.ev.event-loopwoo.ev.utilwoo.utilwoo.queuewoo.ev.tcpwoo.sslwoo.workerwoo.responsewoowoo.llsocketwoo.specialscommon-lisp.
*app* (special variable).
*cluster* (special variable).
*debug* (special variable).
*listener* (special variable).
default-thread-bindings (function).
woo.signalcommon-lisp.
woo.specials.
woo.
make-signal-watchers (function).
start-signal-watchers (function).
stop-signal-watchers (function).
*signals* (special variable).
woo.ev.socketcommon-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.conditioncommon-lisp.
os-error (condition).
socket-closed (condition).
tcp-error (condition).
woo-error (condition).
woo.syscallwsys
common-lisp.
%fcntl/int (function).
%fcntl/noarg (function).
%open (function).
%sendfile (function).
f-getfl (constant).
f-setfl (constant).
o-nonblock (constant).
woo.ev.event-loopcommon-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.utilcommon-lisp.
define-c-callback (macro).
io-fd (function).
woo.ev.tcpcommon-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.workercommon-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.responsecommon-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).
wooclack.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.llsocketwsock
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 |
|---|