actors: Automatically add cookie by default in hive-create-actor.
authorChristopher Allan Webber <cwebber@dustycloud.org>
Mon, 2 Jan 2017 21:15:29 +0000 (15:15 -0600)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Mon, 2 Jan 2017 21:15:29 +0000 (15:15 -0600)
Also switch separator in cookie from "-" to ":".

* 8sync/actors.scm (hive-gen-actor-id): Switch separator from "-" to ":".
(hive-create-actor): Automatically add a cookie based on the class name.
(hive-create-actor*): Tweak docstring.

8sync/actors.scm

index 1dab9d7918ea62b481722123aeee03513ec12965..9a0bb30f18488019cef1ebba7b64fb5ea4d098e9 100644 (file)
@@ -440,7 +440,7 @@ to come after class definition."
 
 (define-method (hive-gen-actor-id (hive <hive>) cookie)
   (make-address (if cookie
 
 (define-method (hive-gen-actor-id (hive <hive>) cookie)
   (make-address (if cookie
-                    (string-append cookie "-" (big-random-number-string))
+                    (string-append cookie ":" (big-random-number-string))
                     (big-random-number-string))
                 (hive-id hive)))
 
                     (big-random-number-string))
                 (hive-id hive)))
 
@@ -647,11 +647,13 @@ that method for documentation."
     actor-id))
 
 (define* (hive-create-actor hive actor-class #:rest init)
     actor-id))
 
 (define* (hive-create-actor hive actor-class #:rest init)
+  "Create an actor on HIVE using ACTOR-CLASS passing in INIT args"
   (%hive-create-actor hive actor-class
   (%hive-create-actor hive actor-class
-                      init #f))
+                      init (symbol->string (class-name actor-class))))
 
 (define* (hive-create-actor* hive actor-class id-cookie #:rest init)
 
 (define* (hive-create-actor* hive actor-class id-cookie #:rest init)
-  "Create an actor, but also add a 'cookie' to the name for debugging"
+  "Create an actor, but also allow customizing a 'cookie' added to the id
+for debugging"
   (%hive-create-actor hive actor-class
                       init id-cookie))
 
   (%hive-create-actor hive actor-class
                       init id-cookie))