diff options
Diffstat (limited to 'src/dnd.lisp')
-rw-r--r-- | src/dnd.lisp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/dnd.lisp b/src/dnd.lisp index 952b8fe..70edd7d 100644 --- a/src/dnd.lisp +++ b/src/dnd.lisp @@ -2,16 +2,23 @@ (in-package #:dnd) +(defvar *config* nil + "Instance of the config class globally available.") + (defvar *dnd-arena* nil "The instance of the HTTP server") -(defun start () - (init-db) +(defun start (&optional config-path) + "Configures and initializes the datastore and web server, then starts the server." + (setf *config* (config-from-file (or config-path + (asdf:system-relative-pathname "dnd" "config.lisp")))) + (init-db *config*) (setf *dnd-arena* (lzb:create-server)) (lzb:install-app *dnd-arena* (lzb:app 'dnd)) (lzb:start-server *dnd-arena*)) (defun boot () + "Main entrypoint for an executable version of DND." (swank:create-server :port 9876 :dont-close t) (start) (loop (sleep 1))) |