concurrency.distributed-docs: update the Example article

char-rename
Alexander Iljin 2017-01-05 20:06:18 +03:00 committed by John Benediktsson
parent e82ee2d723
commit ca08bfd4b0
1 changed files with 20 additions and 18 deletions

View File

@ -10,27 +10,29 @@ HELP: start-node
ARTICLE: "concurrency.distributed.example" "Distributed Concurrency Example"
"In this example the Factor instance associated with port 9000 will run "
"a thread that receives and prints messages "
"in the listener. The code to start the thread is:"
{ $examples
{ $unchecked-example
"a thread that receives and prints messages in the listener. "
"The code to run the server is:"
{ $code
"USING: io.servers ;"
"9000 local-server <node-server> start-server drop"
}
"The code to start the thread is:"
{ $code
"USING: concurrency.messaging threads ;"
": log-message ( -- ) receive . flush log-message ;"
"[ log-message ] \"logger\" spawn dup name>> register-remote-thread"
}
}
"This spawns a thread waits for the messages. It registers that thread as "
"able to be accessed remotely using " { $link register-remote-thread } "."
"This spawns a thread that waits for the messages and prints them. It registers "
"the thread as remotely accessible with " { $link register-remote-thread } "."
$nl
"The second Factor instance, the one associated with port 9001, can send "
"messages to the 'logger' thread by name:"
{ $examples
{ $unchecked-example
"USING: io.sockets concurrency.messaging concurrency.distributed ;"
{ $code
"USING: io.sockets ; FROM: concurrency.messaging => send ;"
"\"hello\" \"127.0.0.1\" 9000 <inet4> \"logger\" <remote-thread> send"
}
}
"The " { $link send } " word is used to send messages to other threads. If an "
"instance of " { $link remote-thread } " is provided instead of a thread then "
"The " { $link send } " word is used to send messages to threads. If an "
"instance of " { $link remote-thread } " is provided, then "
"the message is marshalled to the named thread on the given machine using the "
{ $vocab-link "serialize" } " vocabulary."
$nl
@ -39,9 +41,9 @@ $nl
$nl
"It is also possible to use " { $link send-synchronous } " to receive a "
"response to a distributed message. When an instance of " { $link thread } " "
"is marshalled it is converted into an instance of " { $link remote-thread }
"is marshalled, it is converted into an instance of " { $link remote-thread }
". The receiver of this can use it as the target of a " { $link send }
" or " { $link reply } " call." ;
", " { $link send-synchronous } " or " { $link reply-synchronous } " call." ;
ARTICLE: "concurrency.distributed" "Distributed message passing"
"The " { $vocab-link "concurrency.distributed" } " implements transparent distributed message passing, inspired by Erlang and Termite." $nl