]> gitweb.factorcode.org Git - factor.git/commitdiff
Move distributed concurrency specific stuff from messaging to distributed
authorChris Double <chris.double@double.co.nz>
Thu, 29 Oct 2009 05:02:07 +0000 (18:02 +1300)
committerChris Double <chris.double@double.co.nz>
Thu, 29 Oct 2009 05:02:07 +0000 (18:02 +1300)
basis/concurrency/distributed/distributed.factor
basis/concurrency/messaging/messaging-docs.factor
basis/concurrency/messaging/messaging.factor

index 52627f2ed9ed1e6fabd8b9185d7bae0acb0b7ab7..325e8e3cc9865a95aa8fa286251f8d1c1de59260 100644 (file)
@@ -1,11 +1,27 @@
 ! Copyright (C) 2005 Chris Double. All Rights Reserved.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: serialize sequences concurrency.messaging threads io
-io.servers.connection io.encodings.binary
+io.servers.connection io.encodings.binary assocs init
 arrays namespaces kernel accessors ;
 FROM: io.sockets => host-name <inet> with-client ;
 IN: concurrency.distributed
 
+<PRIVATE
+
+: registered-processes ( -- hash )
+   \ registered-processes get-global ;
+
+PRIVATE>
+
+: register-process ( name process -- )
+    swap registered-processes set-at ;
+
+: unregister-process ( name -- )
+    registered-processes delete-at ;
+
+: get-process ( name -- process )
+    dup registered-processes at [ ] [ thread ] ?if ;
+
 SYMBOL: local-node
 
 : handle-node-client ( -- )
@@ -41,3 +57,9 @@ M: thread (serialize) ( obj -- )
 
 : stop-node ( node -- )
     f swap send-remote-message ;
+
+[
+    H{ } clone \ registered-processes set-global
+] "remote-thread-registry" add-init-hook
+
+
index 17f05e20fb19bc1d07ad8bf74a3bd55fb4dc4af8..85870db4df8925bbc1c25ec26a7e419c615d2ab5 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2006 Chris Double.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: help.syntax help.markup concurrency.messaging.private
+USING: help.syntax help.markup 
 threads kernel arrays quotations strings ;
 IN: concurrency.messaging
 
index ce7f7d611083f8333469f4649d02c825f59a9f5a..37965309e8b4f1a41fbf966bea242eb81ae4a2db 100644 (file)
@@ -68,21 +68,3 @@ M: cannot-send-synchronous-to-self summary
     receive [\r
         data>> swap call\r
     ] keep reply-synchronous ; inline\r
-\r
-<PRIVATE\r
-\r
-: registered-processes ( -- hash )\r
-   \ registered-processes get-global ;\r
-\r
-PRIVATE>\r
-\r
-: register-process ( name process -- )\r
-    swap registered-processes set-at ;\r
-\r
-: unregister-process ( name -- )\r
-    registered-processes delete-at ;\r
-\r
-: get-process ( name -- process )\r
-    dup registered-processes at [ ] [ thread ] ?if ;\r
-\r
-\ registered-processes [ H{ } clone ] initialize\r