… | |
… | |
19 | use AnyEvent::Socket (); |
19 | use AnyEvent::Socket (); |
20 | |
20 | |
21 | use AnyEvent::MP::Transport (); |
21 | use AnyEvent::MP::Transport (); |
22 | |
22 | |
23 | use base Exporter::; |
23 | use base Exporter::; |
24 | |
|
|
25 | our $VERSION = '0.0'; |
|
|
26 | |
24 | |
27 | sub new { |
25 | sub new { |
28 | my ($class, $noderef) = @_; |
26 | my ($class, $noderef) = @_; |
29 | |
27 | |
30 | bless { noderef => $noderef }, $class |
28 | bless { noderef => $noderef }, $class |
… | |
… | |
83 | |
81 | |
84 | $self->clr_transport |
82 | $self->clr_transport |
85 | if $self->{transport}; |
83 | if $self->{transport}; |
86 | |
84 | |
87 | delete $self->{trial}; |
85 | delete $self->{trial}; |
|
|
86 | delete $self->{retry}; |
88 | delete $self->{next_connect}; |
87 | delete $self->{next_connect}; |
89 | |
88 | |
90 | $self->{transport} = $transport; |
89 | $self->{transport} = $transport; |
91 | |
90 | |
92 | $transport->send ($_) |
91 | $transport->send ($_) |
… | |
… | |
139 | ; |
138 | ; |
140 | |
139 | |
141 | [$w, \$g] |
140 | [$w, \$g] |
142 | }; |
141 | }; |
143 | } else { |
142 | } else { |
|
|
143 | $self->fail (transport_error => $self->{noderef}, "unable to connect"); |
|
|
144 | } |
|
|
145 | |
|
|
146 | $self->{next_connect} = AE::timer $AnyEvent::MP::Base::CONNECT_INTERVAL, 0, sub { |
144 | delete $self->{retry}; |
147 | 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; |
148 | $self->connect; |
150 | }; |
149 | }; |
151 | } |
150 | } |
152 | |
151 | |
153 | package AnyEvent::MP::Node::Slave; |
152 | package AnyEvent::MP::Node::Slave; |