This is the woo Reference Manual, version 0.12.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 07:08:17 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/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).
sb-concurrency
(system).
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).
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/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).
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-timeout-timer
(function).
socket-write-watcher
(function).
with-async-writing
(macro).
write-socket-byte
(function).
write-socket-data
(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/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).
bzero
(function).
chmod
(function).
close
(function).
eagain
(constant).
econnaborted
(constant).
econnrefused
(constant).
econnreset
(constant).
eintr
(constant).
enotconn
(constant).
epipe
(constant).
eproto
(constant).
errno
(function).
ewouldblock
(constant).
fork
(function).
getpid
(function).
getppid
(function).
kill
(function).
memset
(function).
open
(function).
read
(function).
sendfile
(function).
set-fd-nonblock
(function).
write
(function).
%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.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-timeout-timer
(function).
socket-write-watcher
(function).
with-async-writing
(macro).
write-socket-byte
(function).
write-socket-data
(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
.
bzero
(function).
chmod
(function).
close
(function).
eagain
(constant).
econnaborted
(constant).
econnrefused
(constant).
econnreset
(constant).
eintr
(constant).
enotconn
(constant).
epipe
(constant).
eproto
(constant).
errno
(function).
ewouldblock
(constant).
fork
(function).
getpid
(function).
getppid
(function).
kill
(function).
memset
(function).
open
(function).
read
(function).
sendfile
(function).
set-fd-nonblock
(function).
write
(function).
%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)
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 |
---|