Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sub routes (Daemon $daemon) is export {
- route {
- my $message_text = Supplier.new;
- get -> 'ws-connect' {
- web-socket -> $incoming, $close {
- supply {
- whenever $incoming -> $message {
- $message_text.emit(await $message.body-text);
- }
- whenever $message_text -> $extension {
- my $supplier = Supplier.new;
- $daemon.new_socket_friend($extension, $supplier);
- }
- whenever $daemon.send-call-signal -> $call-signal {
- emit to-json $call-signal,
- }
- }
- }
- }
- }
- }
- _________________________________________________________________________________________
- monitor Daemon {
- has Supplier $!send-call-signal = Supplier.new;
- has Listener $!listener = Listener.new;
- has %.websocket_connections is rw;
- method send-call-signal(--> Supply) {
- supply {
- whenever $!listener.listen {
- %.websocket_connections{ $_<Destination> }.emit($_);
- }
- }
- }
- method new_socket_friend($extension, $new_socket_connection) {
- %.websocket_connections.push: (
- $extension => $new_socket_connection
- );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement