4 use Tak::ServiceManager;
11 has channel_args => (is => 'ro', required => 1);
14 open my $stdin, '<&', \*STDIN;
15 open my $stdout, '>&', \*STDOUT;
16 shift->new(channel_args => { read_fh => $stdin, write_fh => $stdout });
19 has router => (is => 'lazy');
23 my $channel = Tak::JSONChannel->new($self->channel_args);
25 my $router = Tak::Router->new(
29 my $remote = Tak::Remote->new(
31 name => 'module_sender'
34 my $loader = Tak::ModuleLoader->new(
38 unshift @INC, $loader->inc_callback;
43 sub run { shift->router->run }