NAME

Beekeeper::Service::Router - Route messages between buses

VERSION

Version 0.03

SYNOPSIS

$self->assign_remote_address( "frontend-user-123" );

$self->send_notification(
    method  => 'myapp.info',
    address => 'frontend-user-123',
    params  => 'hello',
);

$self->remove_remote_address( "frontend-user-123" );

DESCRIPTION

Router workers shovel requests messages between frontend and backend brokers.

In order to push unicasted notifications all routers share a table of client connections and server side assigned arbitrary addresses.

METHODS

assign_remote_address ( $address )

Assign an arbitrary address to remote caller.

This address can be used later to push notifications to the client.

The same address can be assigned to multiple remote clients, all of them will receive the notifications sent to it.

remove_remote_address ( $address )

Cancel an address assignment. Clients will no longer receive notifications sent to this address anymore.

remove_caller_address

Cancel an address assignment just for remote caller. Other remote clients may still receive notifications from this address.

AUTHOR

José Micó, jose.mico@gmail.com

COPYRIGHT AND LICENSE

Copyright 2015-2021 José Micó.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language itself.

This software is distributed in the hope that it will be useful, but it is provided “as is” and without any express or implied warranties. For details, see the full text of the license in the file LICENSE.