From a6721bdd6154e2bebd8ab07bf310c25629347a21 Mon Sep 17 00:00:00 2001 From: "Christopher R. Nelson" Date: Wed, 17 Jan 2024 21:05:37 -0500 Subject: Add shutdown command, and refactor server impl zmq: refactor server to functions add shutdown function (end recursion) media: fix bug with missing directories rh-client: support shutdown function rh-server: update to use build variables --- scripts/rh-client.in | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'scripts/rh-client.in') diff --git a/scripts/rh-client.in b/scripts/rh-client.in index 64dfde6..8c96acb 100755 --- a/scripts/rh-client.in +++ b/scripts/rh-client.in @@ -1,4 +1,5 @@ -#!/usr/bin/env guile +#!@GUILE@ \ +--no-auto-compile -e main -s !# (use-modules (simple-zmq) (config) @@ -28,19 +29,19 @@ (switch (name 'title) (synopsis "title of the new media") - (default "Foundation Trilogy") + (default "") (test string?) (character #t)) (switch (name 'author) (synopsis "author of the new media") - (default "Isaac Asimov") + (default "") (test string?) (character #t)) (switch (name 'location) (synopsis "location of the new media") - (default "https://openlibrary.org/books/OL20930675M/The_foundation_trilogy") + (default "") (test string?) (character #t)) (switch @@ -62,6 +63,10 @@ (configuration (name 'consume) (synopsis "remove the next media from the heap") + (wanted '((keywords . (service-socket))))) + (configuration + (name 'shutdown) + (synopsis "shutdown the heap") (wanted '((keywords . (service-socket))))))) (directory (list (in-home ".reading-heap/") (path (given @@ -70,7 +75,11 @@ "/.config")) "/reading-heap/")) (eager? #t)))) - (parser sexp-parser))) + (parser sexp-parser) + (copyright @COPYRIGHT@) + (version @HVERSION@) + (license @LICENSE@) + (author @AUTHOR@))) (define context (zmq-create-context)) @@ -78,7 +87,7 @@ (define (client-setup sock) (zmq-connect client-socket sock)) - + (define (rh-client-next) (zmq-send client-socket "next") (let ((msg (zmq-receive-bytevector client-socket 1500))) @@ -96,6 +105,10 @@ (zmq-send client-socket "consume") (display (zmq-receive client-socket 1500))) +(define (rh-client-shutdown) + (zmq-send client-socket "shutdown") + (display (zmq-receive client-socket 1500))) + (define (json-from-args priority title author location) (scm->json-string `(("priority" . ,priority) ("title" . ,title) @@ -118,6 +131,9 @@ ((string=? (cadr (full-command options)) "consume") (client-setup (option-ref options 'service-socket)) (rh-client-consumed)) + ((string=? (cadr (full-command options)) "shutdown") + (client-setup (option-ref options 'service-socket)) + (rh-client-shutdown)) (#t (emit-help options))))) (main (command-line)) -- cgit v1.2.3