csys/environ:send-create for preparing create message

This commit is contained in:
Helmut Merz 2026-10-06 16:01:57 +02:00
parent d21c766939
commit e923218cd6

View file

@ -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)))