diff options
author | Zoffix Znet <cpan@zoffix.com> | 2016-07-28 21:15:14 -0400 |
---|---|---|
committer | Zoffix Znet <cpan@zoffix.com> | 2016-07-28 21:15:14 -0400 |
commit | 63c2a163e193ea53e159e2a7ffb8c73bddf9074b (patch) | |
tree | 87bcec932d188c50e8f69b1ff088ca5afe31e256 /test.p6 | |
parent | e3d18b7f1a7c415a41d793c7a3f5a02ab4b19d40 (diff) |
Make reconnect stuff work
Diffstat (limited to 'test.p6')
-rw-r--r-- | test.p6 | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/test.p6 b/test.p6 deleted file mode 100644 index 5a6e969..0000000 --- a/test.p6 +++ /dev/null @@ -1,42 +0,0 @@ - -my @s = %( :host<localhost>, :6667port, :promise(''), :sock(''), :!q, :0e ), - %( :host<localhost>, :4444port, :promise(''), :sock(''), :!q, :0e ); - -my Channel $c .= new; - -sub connect-it ($s) { - say "Connecting $s<host>:$s<port>"; - $s<sock> = ''; - $s<promise> = IO::Socket::Async.connect(|$s<host port>).then: sub ($_) { - if .status ~~ Broken { - dd "ZOMFG! Can't connect!"; - $s<q> = True if $s<e>++ > 4; - sleep 1; - $c.send: ['broken', $s]; - return; - } - - $s<sock> = .result; - react { - say "Loooop"; - whenever $s<sock>.Supply { - say "Got stuff! $_"; - } - } - $s<q> = True if $s<e>++ > 3; - $c.send: ['closed', $s]; - CATCH { default { warn $_; warn .backtrace; } } - } -} - -connect-it $_ for @s; -loop { - say "Starting listen"; - my $v = $c.receive; - dd $v; - connect-it $v[1] unless $v[1]<q>; - unless @s.grep({!.<q>}) { - say 'Bailing out'; - last; - } -} |