actors: Switch send-message and reply-message to use 8sync-nowait
[8sync.git] / 8sync / systems / actors.scm
index 1c937c31be7373060f25ca938784e0298e2d9d78..55966f531eba60af75edd83b17b1ca8feb0e9295 100644 (file)
@@ -201,7 +201,7 @@ If key not found and DFLT not provided, throw an error."
          (message (make-message (hive-gen-message-id hive) to-id
                                 (actor-id from-actor) action
                                 (kwarg-list-to-alist message-body-args))))
-    (8sync (hive-process-message hive message))))
+    (8sync-nowait (hive-process-message hive message))))
 
 (define (send-message-wait from-actor to-id action . message-body-args)
   "Send a message from an actor to another, but wait until we get a response"
@@ -228,7 +228,7 @@ If key not found and DFLT not provided, throw an error."
                                     (actor-id from-actor) '*reply*
                                     (kwarg-list-to-alist message-body-args)
                                     #:in-reply-to (message-id original-message))))
-    (8sync (hive-process-message hive new-message))))
+    (8sync-nowait (hive-process-message hive new-message))))
 
 (define (reply-message-wait from-actor original-message
                             . message-body-args)
@@ -606,7 +606,7 @@ Instead, actors should call create-actor."
 This is the method actors should call directly (unless they want
 to supply an id-cookie, in which case they should use
 create-actor*)."
-  (8sync (%hive-create-actor (actor-hive from-actor)
+  (8sync (%hive-create-actor (actor-hive from-actor) actor-class
                              init #f)))
 
 
@@ -614,13 +614,14 @@ create-actor*)."
   "Create an instance of actor-class.  Return the new actor's id.
 
 Like create-actor, but permits supplying an id-cookie."
-  (8sync (%hive-create-actor (actor-hive from-actor)
+  (8sync (%hive-create-actor (actor-hive from-actor) actor-class
                              init id-cookie)))
 
 
 (define (self-destruct actor)
   "Remove an actor from the hive."
-  (hash-remove! hive-actor-registry (actor-id actor)))
+  (hash-remove! (hive-actor-registry (actor-hive actor))
+                (actor-id actor)))
 
 
 \f