Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,36 @@
|
|||
#!/usr/bin/env raku
|
||||
use JSON::Fast ;
|
||||
sub MAIN( :$server='0.0.0.0' , :$port=3333 ) {
|
||||
my %db ;
|
||||
react {
|
||||
whenever IO::Socket::Async.listen( $server , $port ) -> $conn {
|
||||
whenever $conn.Supply.lines -> $line {
|
||||
my %response = 'status' => '' ;
|
||||
my $msg = from-json $line ;
|
||||
say $msg.raku;
|
||||
given $msg{"function"} {
|
||||
when 'set' {
|
||||
%db{ $msg<topic> } = $msg<message> ;
|
||||
%response<status> = 'ok' ;
|
||||
}
|
||||
when 'get' {
|
||||
%response<topic> = $msg<topic> ;
|
||||
%response<message> = %db{ $msg<topic> } ;
|
||||
%response<status> = 'ok' ;
|
||||
}
|
||||
when 'dump' {
|
||||
%response = %db ;
|
||||
}
|
||||
when 'delete' {
|
||||
%db{ $msg<topic> }:delete;
|
||||
%response<status> = 'ok' ;
|
||||
}
|
||||
}
|
||||
$conn.print( to-json(%response, :!pretty) ~ "\n" ) ;
|
||||
LAST { $conn.close ; }
|
||||
QUIT { default { $conn.close ; say "oh no, $_";}}
|
||||
CATCH { default { say .^name, ': ', .Str , " handled in $?LINE";}}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
#!/usr/bin/env raku
|
||||
use JSON::Fast ;
|
||||
multi MAIN('set', $topic, $message='', :$server='localhost', :$port='3333', :$json='') {
|
||||
my %msg = function => 'set' , topic=> $topic , message=> $message ;
|
||||
%msg{"message"} = from-json( $json ) if $json ;
|
||||
sendmsg( %msg , $server, $port) ;
|
||||
}
|
||||
multi MAIN('get', $topic, :$server='localhost', :$port='3333') {
|
||||
my %msg = function => 'get' , topic=> $topic ;
|
||||
sendmsg( %msg , $server, $port) ;
|
||||
}
|
||||
multi MAIN('delete', $topic, :$server='localhost', :$port='3333') {
|
||||
my %msg = function => 'delete' , topic=> $topic ;
|
||||
sendmsg( %msg , $server, $port) ;
|
||||
}
|
||||
multi MAIN('dump', :$server='localhost', :$port='3333') {
|
||||
my %msg = function => 'dump' ;
|
||||
sendmsg( %msg , $server, $port) ;
|
||||
}
|
||||
sub sendmsg( %msg , $server, $port){
|
||||
my $conn = await IO::Socket::Async.connect( $server , $port );
|
||||
$conn.print: to-json( %msg,:!pretty)~"\n";
|
||||
react {
|
||||
whenever $conn.Supply -> $data {
|
||||
print $data;
|
||||
$conn.close;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue