1.1--- a/lisp/lib/net/srv.lisp Mon Jun 03 22:08:03 2024 -0400
1.2+++ b/lisp/lib/net/srv.lisp Tue Jun 04 18:53:40 2024 -0400
1.3@@ -14,7 +14,7 @@
1.4 #|
1.5 (srv:start (srv:file-server)) ;; start a simple HTTP file server in current directory with all default values
1.6
1.7-(srv:define-web-service my-homepage :port 8080 :auth (auth settings ...) :routes (routes ...) &more ...)
1.8+(srv:define-service my-homepage :port 8080 :auth (auth settings ...) :routes (routes ...) &more ...)
1.9 (with-ws (ws 'my-homepage)
1.10 (srv:start ws))
1.11 |#
1.12@@ -26,3 +26,18 @@
1.13 ;;; Code:
1.14 (in-package :net/srv)
1.15
1.16+(defmacro define-service (name &rest initargs)
1.17+ "Define a subclass of NET/SRV:SERVICE."
1.18+ `(defclass ,name ,@initargs))
1.19+
1.20+(defgeneric start-service (self)
1.21+ (:documentation "Start a service."))
1.22+
1.23+(defgeneric stop-service (self)
1.24+ (:documentation "Stop a service."))
1.25+
1.26+(defgeneric restart-service (self)
1.27+ (:documentation "Restart a service.")
1.28+ (:method ((self t))
1.29+ (stop-service self)
1.30+ (start-service self)))