Distributed programming: Difference between revisions

m
→‎{{header|Raku}}: Fix up Perl 6 -> Raku calling conventions
m (→‎{{header|Raku}}: Fix code: Perl 6 --> Raku)
m (→‎{{header|Raku}}: Fix up Perl 6 -> Raku calling conventions)
Line 1,586:
=={{header|Raku}}==
(formerly Perl 6)
 
Server listens for JSON encoded messages. It processes requests for set|get|dump. 'set' stores a message, 'get' returns message, 'dump' returns all stored messages. Optional parameters for ip address and port.
 
Line 1,601 ⟶ 1,602:
my %response = 'status' => '' ;
my $msg = from-json $line ;
say $msg.perl raku;
given $msg{"function"} {
when 'set' {
Line 1,663 ⟶ 1,664:
}</lang>
examples:
<pre>echo '{"function":"set","topic":"push","message":["perl5","perl6raku","rakudo"]}' | nc localhost 3333
 
./client.raku set version perl6raku
{"status": "ok"}
./client.raku get version
{"status": "ok","topic": "version","message": "perl6raku"}
./client.raku --json='["one","two","three"]' set mylist
{"status": "ok"}
./client.raku dump
{"push": ["perl5","perl6raku","rakudo"],"version": "perl6raku","mylist": ["one","two","three"]}
./client.raku delete version
{"status": "ok"}
 
server output:
${:function("set"), :message($["perl5", "perl6raku", "rakudo"]), :topic("push")}
${:function("set"), :message("perl6raku"), :topic("version")}
${:function("get"), :topic("version")}
${:function("set"), :message($["one", "two", "three"]), :topic("mylist")}
10,333

edits