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

Comparing cvsroot/AnyEvent-MP/MP/Transport.pm (file contents):
Revision 1.59 by root, Thu Nov 5 22:44:56 2009 UTC vs.
Revision 1.60 by root, Sat Nov 7 02:36:31 2009 UTC

196 $self->{remote_greeting} = { 196 $self->{remote_greeting} = {
197 map /^([^=]+)(?:=(.*))?/ ? ($1 => $2) : (), 197 map /^([^=]+)(?:=(.*))?/ ? ($1 => $2) : (),
198 @kv 198 @kv
199 }; 199 };
200 200
201 # maybe upgrade the protocol
202 if ($protocol eq "aemp" and $aemp =~ /^aemp-\w+$/) {
203 # maybe check for existence of the protocol handler?
204 $self->{protocol} = $protocol = $aemp;
205 }
206
201 $_->($self) for $protocol eq "aemp" ? @HOOK_GREETING : (); 207 $_->($self) for $protocol eq "aemp" ? @HOOK_GREETING : ();
202 208
203 if ($aemp ne $protocol) { 209 if ($aemp ne $protocol and $aemp ne "aemp") {
204 return $self->error ("unparsable greeting, expected '$protocol', got '$aemp'"); 210 return $self->error ("unparsable greeting, expected '$protocol', got '$aemp'");
205 } elsif ($version != $PROTOCOL_VERSION) { 211 } elsif ($version != $PROTOCOL_VERSION) {
206 return $self->error ("version mismatch (we: $PROTOCOL_VERSION, they: $version)"); 212 return $self->error ("version mismatch (we: $PROTOCOL_VERSION, they: $version)");
213 } elsif ($protocol eq "aemp") {
207 } elsif ($rnode eq $AnyEvent::MP::Kernel::NODE) { 214 if ($rnode eq $AnyEvent::MP::Kernel::NODE) {
208 return $self->error ("I refuse to talk to myself"); 215 return $self->error ("I refuse to talk to myself");
209 } elsif ($AnyEvent::MP::Kernel::NODE{$rnode} && $AnyEvent::MP::Kernel::NODE{$rnode}{transport}) { 216 } elsif ($AnyEvent::MP::Kernel::NODE{$rnode} && $AnyEvent::MP::Kernel::NODE{$rnode}{transport}) {
210 return $self->error ("$rnode already connected, not connecting again."); 217 return $self->error ("$rnode already connected, not connecting again.");
218 }
211 } 219 }
212 220
213 # read nonce 221 # read nonce
214 $self->{hdl}->push_read (line => sub { 222 $self->{hdl}->push_read (line => sub {
215 my $rgreeting2 = $_[1]; 223 my $rgreeting2 = $_[1];

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines