Better type checking.
[iolib.git] / src / iolib.multiplex.asd
blob9560484f8059ed8f716e8e9b91b77c4b6235f887
1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; indent-tabs-mode: nil -*-
3 (in-package :common-lisp-user)
5 (asdf:defsystem :iolib.multiplex
6   :description "I/O multiplexing library."
7   :author "Stelian Ionescu <sionescu@cddr.org>"
8   :maintainer "Stelian Ionescu <sionescu@cddr.org>"
9   :licence "MIT"
10   :depends-on (:iolib.base :iolib.syscalls :cffi)
11   :pathname (merge-pathnames #p"multiplex/" *load-truename*)
12   :components
13   ((:file "pkgdcl")
15    ;; Scheduler
16    (:file "utils" :depends-on ("pkgdcl"))
17    (:file "timers" :depends-on ("pkgdcl"))
18    (:file "queue" :depends-on ("pkgdcl"))
19    (:file "scheduler" :depends-on ("pkgdcl" "timers" "queue"))
21    ;; Event loop
22    (:file "fd-entry" :depends-on ("pkgdcl" "timers"))
23    (:file "multiplexer" :depends-on ("pkgdcl" "utils" "fd-entry"))
24    (:file "event-loop" :depends-on ("pkgdcl" "timers" "queue" "scheduler"
25                                     "fd-entry" "multiplexer"))
27    ;; FD wait
28    (:file "fd-wait" :depends-on ("pkgdcl" "utils"))
30    ;; Event sources
31    (:file "backend-select"
32           :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
33    #+linux
34    (:file "backend-epoll"
35           :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
36    #+bsd
37    (:file "backend-kqueue"
38           :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
39    (:file "detect"
40           :depends-on ("pkgdcl" "multiplexer" "backend-select"
41                        #+linux "backend-epoll" #+bsd "backend-kqueue"))))