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

Comparing AnyEvent-MP/MP/Global.pm (file contents):
Revision 1.8 by root, Thu Aug 27 21:29:37 2009 UTC vs.
Revision 1.9 by root, Thu Aug 27 22:21:09 2009 UTC

208 rcv $SELF, 208 rcv $SELF,
209 addr => sub { 209 addr => sub {
210 my $addresses = shift; 210 my $addresses = shift;
211 $AnyEvent::MP::Kernel::WARN->(9, "$node told us it's addresses (@$addresses)."); 211 $AnyEvent::MP::Kernel::WARN->(9, "$node told us it's addresses (@$addresses).");
212 $addr{$node} = $addresses; 212 $addr{$node} = $addresses;
213
214 # to help listener-less nodes, we broadcast new addresses to them unconditionally
215 #TODO: should be done by a node finding out about a listener-less one
216 if (@$addresses) {
217 for my $other (values %AnyEvent::MP::NODE) {
218 if ($other->{transport}) {
219 if ($addr{$other->{id}}) {
220 if (!{ $addr{$other} }) {
221 $AnyEvent::MP::Kernel::WARN->(9, "helping $other->{id} to find $node.");
222 snd $port{$other}, connect_nodes => { $node => $addresses };
223 }
224 }
225 }
226 }
227 }
213 }, 228 },
214 connect_nodes => sub { 229 connect_nodes => sub {
215 my ($kv) = @_; 230 my ($kv) = @_;
216 231
217 use JSON::XS;#d# 232 use JSON::XS;#d#

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines