core/actor: show using :customer parameter
This commit is contained in:
parent
4639108092
commit
ca78d3b65e
2 changed files with 12 additions and 13 deletions
|
@ -52,12 +52,11 @@
|
|||
(defun calculator (&optional (val 0))
|
||||
#'(lambda (ac msg)
|
||||
(destructuring-bind (fn &optional param) (content msg)
|
||||
(funcall fn ac val param))))
|
||||
(funcall fn ac msg val param))))
|
||||
|
||||
(defun plus (ac val param)
|
||||
(defun plus (ac msg val param)
|
||||
(become ac (calculator (+ val param))))
|
||||
(defun minus (ac val param)
|
||||
(defun minus (ac msg val param)
|
||||
(become ac (calculator (- val param))))
|
||||
(defun show (ac val param)
|
||||
(send (create #'lgi) val))
|
||||
|
||||
(defun show (ac msg val param)
|
||||
(send (customer msg) val))
|
||||
|
|
|
@ -127,11 +127,11 @@
|
|||
(== (shape:head-value rec :username) :u1)))
|
||||
|
||||
(deftest test-actor ()
|
||||
(let (a1 a2 a3)
|
||||
(setf a1 (actor:create (actor:calculator)))
|
||||
(actor:send a1 '(actor:plus 2))
|
||||
(actor:send a1 '(actor:minus 3))
|
||||
(actor:send a1 '(actor:show))
|
||||
(let ((calc (actor:create (actor:calculator)))
|
||||
(logger (actor:create #'actor:lgi)))
|
||||
(actor:send calc '(actor:plus 2))
|
||||
(actor:send calc '(actor:minus 3))
|
||||
(actor:send calc '(actor:show) :customer logger)
|
||||
))
|
||||
|
||||
(deftest test-send ()
|
||||
|
|
Loading…
Add table
Reference in a new issue