ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-MP/MP/Node.pm
(Generate patch)

Comparing AnyEvent-MP/MP/Node.pm (file contents):
Revision 1.63 by root, Fri Mar 23 03:24:41 2012 UTC vs.
Revision 1.64 by root, Fri Mar 23 21:16:25 2012 UTC

10 10
11This is an internal utility module, horrible to look at, so don't. 11This is an internal utility module, horrible to look at, so don't.
12 12
13=cut 13=cut
14 14
15package AnyEvent::MP::Node; 15package AnyEvent::MP::Node; # base class for nodes
16 16
17use common::sense; 17use common::sense;
18 18
19use AnyEvent (); 19use AnyEvent ();
20use AnyEvent::Socket (); 20use AnyEvent::Socket ();
39sub send { 39sub send {
40 &{ shift->{send} } 40 &{ shift->{send} }
41} 41}
42 42
43# nodes reachable via the network 43# nodes reachable via the network
44package AnyEvent::MP::Node::Remote; 44package AnyEvent::MP::Node::Remote; # a remote node
45 45
46use base "AnyEvent::MP::Node"; 46use base "AnyEvent::MP::Node";
47 47
48# called at init time, mostly sets {send} 48# called at init time, mostly sets {send}
49sub transport_reset { 49sub transport_reset {
113 113
114 return if $self->{transport}; 114 return if $self->{transport};
115 return if $self->{connect_w}; 115 return if $self->{connect_w};
116 116
117 Scalar::Util::weaken $self; 117 Scalar::Util::weaken $self;
118 use Carp;Carp::cluck;#d#
118 119
119 $self->{connect_to} ||= AE::timer $AnyEvent::MP::Kernel::CONFIG->{connect_interval}, 0, sub { 120 $self->{connect_to} ||= AE::timer $AnyEvent::MP::Kernel::CONFIG->{connect_interval}, 0, sub {
120 $self->transport_error (transport_error => $self->{id}, "unable to connect"); 121 $self->transport_error (transport_error => $self->{id}, "unable to connect");
121 }; 122 };
122 123
198 $self->send (["", mon0 => $portid]); 199 $self->send (["", mon0 => $portid]);
199 delete $self->{monitor}{$portid}; 200 delete $self->{monitor}{$portid};
200 } 201 }
201} 202}
202 203
203package AnyEvent::MP::Node::Self; 204package AnyEvent::MP::Node::Self; # the local node
204 205
205use base "AnyEvent::MP::Node"; 206use base "AnyEvent::MP::Node";
206 207
207sub connect { 208sub connect {
208 # we are trivially connected 209 # we are trivially connected

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines