This is the woo Reference Manual, version 0.12.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Fri Sep 15 07:01:18 2023 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.queue
woo.ev.socket
woo
woo.response
woo.ev.condition
woo.ev.util
woo.signal
woo.util
woo.syscall
woo.llsocket
woo.worker
woo.ev
woo.ev.tcp
woo.ev.event-loop
woo.specials
common-lisp
.
*app*
(special variable).
*cluster*
(special variable).
*debug*
(special variable).
*listener*
(special variable).
default-thread-bindings
(function).
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
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.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.ev.condition
common-lisp
.
os-error
(condition).
socket-closed
(condition).
tcp-error
(condition).
woo-error
(condition).
woo.ev.util
common-lisp
.
define-c-callback
(macro).
io-fd
(function).
woo.signal
common-lisp
.
woo.specials
.
woo
.
make-signal-watchers
(function).
start-signal-watchers
(function).
stop-signal-watchers
(function).
*signals*
(special variable).
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.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).
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.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.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).
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 |
---|