From e923218cd6d23125900578f38efac5c9f362323c Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Tue, 6 Oct 2026 16:01:57 +0200 Subject: [PATCH] csys/environ:send-create for preparing create message --- csys/environ.lisp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/csys/environ.lisp b/csys/environ.lisp index a45e8a7..b0b5eb1 100644 --- a/csys/environ.lisp +++ b/csys/environ.lisp @@ -11,7 +11,7 @@ (:export #:*env* #:create #:simple-setup #:simple-proc #:actions - #:send-value #:send-connect)) + #:send-value #:send-create #:send-connect)) (in-package :scopes/csys/environ) @@ -71,6 +71,7 @@ :notify (csys:no-op) :effect (csys:no-op) :value #'forward + :create #'forward-create :connect #'forward-connect :default (csys:no-op :no-forward t))) @@ -97,6 +98,8 @@ (util:lgw "no addr and no customer in message" msg scope))))) nil) +(defun forward-create (msg scope)) + (defun forward-connect (msg scope) (let* ((head (shape:head msg)) (data (shape:data msg)) @@ -120,6 +123,13 @@ (let ((head (cons domain (cons :value cat-loc)))) (send-message head `(:value ,val) :env env))) +(defun send-create (rcvr &key (domain "csys:*domain*") (env *env*) connect op) + (let ((head (cons domain :create)) + data) + (when connect (util:plist-add data :connect connect)) + (when op (util:plist-add data :op op)) + (send-message head data :customer rcvr :env env))) + (defun send-connect (rcvr target &key (domain csys:*domain*) (env *env*) op) (let* ((cat-loc (when (listp rcvr) rcvr)) (head (cons domain (cons :connect cat-loc)))