Stem Cookbook - World2
NAME
World2 - A minimal class level Stem cell with read/write data.
DESCRIPTION
This Stem class level cell is an extension of the World1 class. It still has a method named world_cmd
that will return the stored name. The name_cmd
method takes a message and set the $name to its data.
COMMAND METHOD
The following code snippet in the World2 class cell is the method that will receive a hello command from a remote sender.
package World2;
sub hello_cmd {
return "Hello world!\n";
}
Stem makes the creation of Command message handling methods very easy. Any return with defined data will automatically be sent back to the sender of this command in a response type message. In the method above we return the "Hello world!\n" string which will get printed on the console.
For more information on how a message is routed to its destination cell in Stem please see the Stem Messaging Design Notes.
THE CONFIGURATION FILE
The following Stem configuration file is used to bring a World2 class level cell into existance in the Stem environment.
[ class => 'Stem::Console', ], [ class => 'World2', ]
The first entry is Stem::Console
, class level cell allows a user to manually send command messages into the Stem system. It is not required for this module, but it is used in this example to send messages to the World2 class and to print responses from it. The second entry loads the World2
class. We can now refer to this class cell as World2 when we want to send it a message.
USAGE
Execute run_stem world
from the command line to run this configuration. You will be greeted with the Stem> prompt. It is now possible to send a message manually to World2. Type the following command at the Stem prompt:
World2 hello
This is standard Stem Console syntax, the cell address followed by the command name. This will send a message world_cmd method in the World2
class cell. That method returns a value, which is converted into a response message addressed to Stem::Console (the originator of the command message), and its data will be printed on the console terminal.
"Hello world!"
SEE ALSO
Stem Cookbook Part 2
Stem Cookbook Part 3