changeset 555: |
b1e5975c9bbe |
parent 554: |
7845348eced6 |
child 556: |
a46d78266516 |
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Fri, 19 Jul 2024 22:02:26 -0400 |
files: |
lisp/lib/net/srv.lisp skelfile |
description: |
service engine |
1.1--- a/lisp/lib/net/srv.lisp Thu Jul 18 22:09:56 2024 -0400
1.2+++ b/lisp/lib/net/srv.lisp Fri Jul 19 22:02:26 2024 -0400
1.3@@ -125,12 +125,14 @@
1.4 ;;; Router
1.5 (defclass router () ())
1.6
1.7-;;; Task Pool
1.8-;; Automatic Multithreading support for service objects
1.9-
1.10+;;; Engine
1.11+;; Multithreaded runtime for services
1.12 (define-task-kernel service-task-kernel () ()
1.13 "Default task kernel for service-based tasks.")
1.14
1.15+(defclass service-engine ()
1.16+ ((task-pool :type task-pool)))
1.17+
1.18 ;; supervisor, worker, task, kernel
1.19 ;;; Service
1.20 (defclass service (obj/id:id)
1.21@@ -139,7 +141,7 @@
1.22 ;; HACK 2024-07-18: will this only accept class names? are structures classes? (http-request, http-response)
1.23 (request-class :type symbol)
1.24 (response-class :type symbol)
1.25- (task-pool :type task-pool)
1.26+ (engine :type service-engine)
1.27 (read-timeout :type fixnum)
1.28 (write-timeout :type fixnum)
1.29 (connection-max :type fixnum)
2.1--- a/skelfile Thu Jul 18 22:09:56 2024 -0400
2.2+++ b/skelfile Fri Jul 19 22:02:26 2024 -0400
2.3@@ -45,29 +45,29 @@
2.4 (%stash () #$mkdir -pv .stash$#)
2.5 (rdb (%stash) (with-sbcl (:noinform t :quit t)
2.6 (ql:quickload :bin/rdb)
2.7- (asdf:make :bin/rdb)
2.8- #0$mv lisp/bin/rdb .stash/$#))
2.9+ (asdf:make :bin/rdb))
2.10+ #$mv lisp/bin/rdb .stash/rdb$#)
2.11 (skel (%stash) (with-sbcl (:noinform t :quit t)
2.12 (ql:quickload :bin/skel)
2.13- (asdf:make :bin/skel)
2.14- #0$mv lisp/bin/skel .stash/$#))
2.15+ (asdf:make :bin/skel))
2.16+ #$mv lisp/bin/skel .stash/skel$#)
2.17 (skel-gui (%stash) (with-sbcl (:noinform t :quit t)
2.18 (push :tools *features*)
2.19 (ql:quickload :bin/skel)
2.20- (asdf:make :bin/skel)
2.21- #0$mv lisp/bin/skel .stash/$#))
2.22+ (asdf:make :bin/skel))
2.23+ #$mv lisp/bin/skel .stash/skel$#)
2.24 (organ (%stash) (with-sbcl (:noinform t :quit t)
2.25 (ql:quickload :bin/organ)
2.26- (asdf:make :bin/organ)
2.27- #0$mv lisp/bin/organ .stash/$#))
2.28+ (asdf:make :bin/organ))
2.29+ #$mv lisp/bin/organ .stash/organ$#)
2.30 (homer (%stash) (with-sbcl (:noinform t :quit t)
2.31 (ql:quickload :bin/homer)
2.32- (asdf:make :bin/homer)
2.33- #0$mv lisp/bin/homer .stash/$#))
2.34+ (asdf:make :bin/homer))
2.35+ #$mv lisp/bin/homer .stash/homer$#)
2.36 (packy (%stash) (with-sbcl (:noinform t :quit t)
2.37 (ql:quickload :bin/packy)
2.38- (asdf:make :bin/packy)
2.39- #0$mv lisp/bin/packy .stash/$#))
2.40+ (asdf:make :bin/packy))
2.41+ #$mv lisp/bin/packy .stash/packy$#)
2.42 (build (rdb skel organ homer packy))
2.43 (compile () #$./x.lisp compile$#)
2.44 (std () #$./x.lisp save std$#)