Guest User

Untitled

a guest
Feb 6th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 6 1.46 KB | None | 0 0
  1. monitor Daemon {
  2.     has Listener $!listener = Listener.new;
  3.     has Supplier $!send-data = Supplier.new;
  4.     has %.stored-data is rw;
  5.  
  6.     method send-data(--> Supply) {
  7.         supply {
  8.             whenever $!listener.listen {
  9.                 my $address = %.stored-data{ $_<address> };
  10.                 my $type   = $address.WHO;
  11.  
  12.                 if ($type ~~ 'Any') {
  13.                     say 'address not found.';
  14.                 }
  15.                 elsif ($type !~~ 'Array') {
  16.                     $address.emit($_);
  17.                 }
  18.                 elsif ($type ~~ 'Array') {
  19.                     $address[0].emit($_);
  20.                 }
  21.             }
  22.         }
  23.     }
  24.  
  25.     method new-address-amigo($extension) {
  26.         my $supplier = Supplier.new;
  27.         say 'supplying';
  28.         whenever $supplier {
  29.             say 'emiting to ' ~ $_<address>;
  30.             say 'hmm ' ~ $supplier;
  31.             say $_;
  32.             say %.stored-data{ $extension };
  33.             emit to-json $_;
  34.         }
  35.  
  36.         %.stored-data.push: ( $extension => $supplier );
  37.     }
  38. }
  39.  
  40.  
  41. _________________________________________________________________________________
  42.  
  43. my $message_text = Supplier.new;
  44.  
  45. get -> 'address-amigo' {
  46.     web-socket -> $incoming, $close {
  47.         supply {
  48.             whenever $incoming -> $message {
  49.                 $daemon.new-address-amigo( await $message.body-text );
  50.             }
  51.  
  52.             whenever $daemon.send-data {}
  53.         }
  54.     }
  55. }
Add Comment
Please, Sign In to add comment