… | |
… | |
17 | use AE (); |
17 | use AE (); |
18 | use AnyEvent::Util (); |
18 | use AnyEvent::Util (); |
19 | use AnyEvent::Socket (); |
19 | use AnyEvent::Socket (); |
20 | |
20 | |
21 | use AnyEvent::MP::Transport (); |
21 | use AnyEvent::MP::Transport (); |
22 | |
|
|
23 | use base Exporter::; |
|
|
24 | |
|
|
25 | our $VERSION = '0.0'; |
|
|
26 | |
22 | |
27 | sub new { |
23 | sub new { |
28 | my ($class, $noderef) = @_; |
24 | my ($class, $noderef) = @_; |
29 | |
25 | |
30 | bless { noderef => $noderef }, $class |
26 | bless { noderef => $noderef }, $class |
… | |
… | |
83 | |
79 | |
84 | $self->clr_transport |
80 | $self->clr_transport |
85 | if $self->{transport}; |
81 | if $self->{transport}; |
86 | |
82 | |
87 | delete $self->{trial}; |
83 | delete $self->{trial}; |
|
|
84 | delete $self->{retry}; |
88 | delete $self->{next_connect}; |
85 | delete $self->{next_connect}; |
89 | |
86 | |
90 | $self->{transport} = $transport; |
87 | $self->{transport} = $transport; |
91 | |
88 | |
92 | $transport->send ($_) |
89 | $transport->send ($_) |
… | |
… | |
139 | ; |
136 | ; |
140 | |
137 | |
141 | [$w, \$g] |
138 | [$w, \$g] |
142 | }; |
139 | }; |
143 | } else { |
140 | } else { |
|
|
141 | $self->fail (transport_error => $self->{noderef}, "unable to connect"); |
|
|
142 | } |
|
|
143 | |
|
|
144 | $self->{next_connect} = AE::timer $AnyEvent::MP::Base::CONNECT_INTERVAL, 0, sub { |
144 | delete $self->{retry}; |
145 | delete $self->{retry}; |
145 | $self->fail (transport_error => $self->{noderef}, "unable to connect"); |
|
|
146 | } |
|
|
147 | |
|
|
148 | $self->{next_connect} = AE::timer $AnyEvent::MP::Base::CONNECT_INTERVAL, 0, sub { |
|
|
149 | $self->connect; |
146 | $self->connect; |
150 | }; |
147 | }; |
151 | } |
148 | } |
152 | |
149 | |
153 | package AnyEvent::MP::Node::Slave; |
150 | package AnyEvent::MP::Node::Slave; |
… | |
… | |
201 | delete $AnyEvent::MP::Base::LMON{$portid}{$cb+0}; |
198 | delete $AnyEvent::MP::Base::LMON{$portid}{$cb+0}; |
202 | } |
199 | } |
203 | |
200 | |
204 | =head1 SEE ALSO |
201 | =head1 SEE ALSO |
205 | |
202 | |
206 | L<AnyEvent>. |
203 | L<AnyEvent::MP>. |
207 | |
204 | |
208 | =head1 AUTHOR |
205 | =head1 AUTHOR |
209 | |
206 | |
210 | Marc Lehmann <schmorp@schmorp.de> |
207 | Marc Lehmann <schmorp@schmorp.de> |
211 | http://home.schmorp.de/ |
208 | http://home.schmorp.de/ |