csys/environ: add send-value shortcut
This commit is contained in:
parent
0a39d11add
commit
f3e3af8e0b
3 changed files with 14 additions and 10 deletions
|
|
@ -183,20 +183,19 @@
|
|||
|
||||
;;;; public shortcuts
|
||||
|
||||
(defun send-create (rcvr &rest args &key (domain :csys) (cat :c00) name connect op)
|
||||
(defun send-create (cell &rest args &key (domain :csys) (cat :c00) name connect op)
|
||||
(let ((args+ (if name
|
||||
`(:addr ,(list domain cat name))
|
||||
`(:categ ,(list domain cat)))))
|
||||
(setf args (alx:remove-from-plist :domain :cat :name))
|
||||
(actor:send rcvr
|
||||
(actor:send cell
|
||||
(message:create (list domain :create) :data (append args+ args)))))
|
||||
|
||||
(defun send-connect (rcvr target &key op (domain :csys))
|
||||
(actor:send rcvr
|
||||
(defun send-connect (cell target &key op (domain :csys))
|
||||
(actor:send cell
|
||||
(message:create (list domain :connect)
|
||||
:data (list :target target :op op))))
|
||||
|
||||
|
||||
;;;; internal helpers
|
||||
|
||||
(defun new-msg-head (msg scope)
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
(:util :scopes/util))
|
||||
(:export #:create
|
||||
#:actions
|
||||
#:forward))
|
||||
#:send-value))
|
||||
|
||||
(in-package :scopes/csys/environ)
|
||||
|
||||
|
|
@ -46,7 +46,13 @@
|
|||
(actor:send cell msg))
|
||||
nil)
|
||||
|
||||
;;;; helpers
|
||||
;;;; public shortcuts
|
||||
|
||||
(defun send-value (env val &key (domain :csys) (cat :c00) (name ""))
|
||||
(let ((head (list domain :value cat name)))
|
||||
(actor:send env (message:create head :data `(:value ,val)))))
|
||||
|
||||
;;;; internal helpers
|
||||
|
||||
(defun register-cell (reg addr cell)
|
||||
(destructuring-bind (dom cat &optional (key "")) addr
|
||||
|
|
|
|||
|
|
@ -89,8 +89,7 @@
|
|||
(rcvr (tc:receiver t:*test-suite*)))
|
||||
(sleep 0.1)
|
||||
;(tc:expect rcvr (message:create '(:csys :effect :e01) :data '(:value 1)))
|
||||
;(environ:send-value 1 :cat :s01 :name "0-1")
|
||||
(actor:send env (message:create '(:csys :value :s01 "0-1") :data '(:value 1)))
|
||||
(actor:send env (message:create '(:csys :value :s01 "0-1") :data '(:value 2)))
|
||||
(environ:send-value env 1 :cat :s01 :name "0-1")
|
||||
(environ:send-value env 2 :cat :s01 :name "0-1")
|
||||
(sleep 0.1)
|
||||
(core:shutdown)))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue