actors: Remove <hive-proxy>; no longer export actor-hive.
authorChristopher Allan Webber <cwebber@dustycloud.org>
Wed, 27 Apr 2016 03:34:00 +0000 (22:34 -0500)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Wed, 27 Apr 2016 03:34:00 +0000 (22:34 -0500)
The goal of hive-proxy (in XUDD at least) was to prevent actors from
accessing their hive.  Since we're no longer exporting actor-hive
we've more or less achieved that though.

* 8sync/systems/actors.scm: No longer export actor-hive.
  (<message>): Adjust comment about deferred-reply.
  (<hive-proxy>, <debug-hive-proxy>): Removed.

8sync/systems/actors.scm

index 119f8a40a1256af45eb52221322c961f0229bed9..7e8d9576033587cff78537d956964cf2ff7e48bb 100644 (file)
@@ -35,7 +35,6 @@
 
             <actor>
             actor-id
-            actor-hive
             actor-message-handler
 
             ;;; Commenting out the <address> type for now;
 
 (define-record-type <message>
   (make-message-intern id to from action
-                       body in-reply-to wants-reply   ; do we need hive-proxy?
-                       ;; Are these still needed?
-                       replied deferred-reply)
+                       body in-reply-to wants-reply
+                       replied
+                       ;; @@: Not used yet.
+                       ;; Will we ever find a real use case?
+                       deferred-reply)
   message?
   (id message-id)
   (to message-to)
@@ -552,7 +553,6 @@ so this gets called from the nicer hive-create-actor interface.  See
 that method for documentation."
   (let* ((actor-id (hive-gen-actor-id hive id-cookie))
          (actor (apply make actor-class
-                       ;; @@: If we switch to a hive-proxy, do it here
                        #:hive hive
                        #:id actor-id
                        init)))
@@ -569,25 +569,12 @@ that method for documentation."
                       init id-cookie))
 
 
-;; TODO: Give actors this instead of the actual hive reference
-(define-class <hive-proxy> ()
-  (send-message #:getter proxy-send-message
-                #:init-keyword #:send-message)
-  (create-actor #:getter proxy-create-actor
-                #:init-keyword #:create-actor))
-
-;; Live the hive proxy, but has access to the hive itself...
-(define-class <debug-hive-proxy> (<hive-proxy>)
-  (hive #:init-keyword #:hive))
-
-
 \f
 ;;; Various API methods for actors to interact with the system
 ;;; ==========================================================
 
 ;; TODO: move send-message and friends here...?
 
-;; TODO: Rewrite this inside of a <hive-proxy> ?
 (define* (create-actor from-actor actor-class #:rest init)
   "Create an instance of actor-class.  Return the new actor's id.