From: Christopher Allan Webber Date: Tue, 3 May 2016 15:31:56 +0000 (-0500) Subject: actors: Add note that maybe action dispatch error checks should be moved. X-Git-Tag: v0.2.0~9 X-Git-Url: https://jxself.org/git/?p=8sync.git;a=commitdiff_plain;h=b06280f2319441e147943543ebd098b1e0abcdd9;hp=e8a99d0a22f93676617c1d7d0f45cb675ed852ee actors: Add note that maybe action dispatch error checks should be moved. * 8sync/systems/actors.scm (simple-dispatcher): Add comment. --- diff --git a/8sync/systems/actors.scm b/8sync/systems/actors.scm index c33240f..376531a 100644 --- a/8sync/systems/actors.scm +++ b/8sync/systems/actors.scm @@ -352,6 +352,8 @@ Which is like doing manually: (let* ((action (message-action message)) (method (assoc-ref action-map action))) (if (not method) + ;; @@: There's every possibility this should be handled in + ;; hive-process-message instead. (throw 'action-not-found "No appropriate action handler found for actor" #:action action @@ -370,6 +372,12 @@ Which is like doing manually: (cons (quote action-name) handler)))) (define-syntax-rule (build-actions action-item ...) + "Build a mapping of actions. Same syntax as make-action-dispatch +but this doesn't build the dispatcher for you (you probably want to +pass it to simple-dispatcher). + +The advantage here is that since this simply builds an alist, you can +compose it with other action maps." (list (%expand-action-item action-item) ...)) (define-syntax make-action-dispatch