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

Comparing AnyEvent-MP/MP.pm (file contents):
Revision 1.147 by root, Mon Jun 20 16:58:15 2016 UTC vs.
Revision 1.152 by root, Sun Jul 29 02:23:34 2018 UTC

204use AnyEvent (); 204use AnyEvent ();
205use Guard (); 205use Guard ();
206 206
207use base "Exporter"; 207use base "Exporter";
208 208
209our $VERSION = $AnyEvent::MP::Config::VERSION; 209our $VERSION = '2.02'; # also in MP/Config.pm
210 210
211our @EXPORT = qw( 211our @EXPORT = qw(
212 NODE $NODE 212 NODE $NODE
213 configure 213 configure
214 node_of port_is_local 214 node_of port_is_local
311 311
312=item step 2, bind listener sockets 312=item step 2, bind listener sockets
313 313
314The next step is to look up the binds in the profile, followed by binding 314The next step is to look up the binds in the profile, followed by binding
315aemp protocol listeners on all binds specified (it is possible and valid 315aemp protocol listeners on all binds specified (it is possible and valid
316to have no binds, meaning that the node cannot be contacted form the 316to have no binds, meaning that the node cannot be contacted from the
317outside. This means the node cannot talk to other nodes that also have no 317outside. This means the node cannot talk to other nodes that also have no
318binds, but it can still talk to all "normal" nodes). 318binds, but it can still talk to all "normal" nodes).
319 319
320If the profile does not specify a binds list, then a default of C<*> is 320If the profile does not specify a binds list, then a default of C<*> is
321used, meaning the node will bind on a dynamically-assigned port on every 321used, meaning the node will bind on a dynamically-assigned port on every
418=cut 418=cut
419 419
420sub rcv($@); 420sub rcv($@);
421 421
422my $KILME = sub { 422my $KILME = sub {
423 (my $tag = substr $_[0], 0, 30) =~ s/([\x20-\x7e])/./g; 423 (my $tag = substr $_[0], 0, 30) =~ s/([^\x20-\x7e])/./g;
424 kil $SELF, unhandled_message => "no callback found for message '$tag'"; 424 kil $SELF, unhandled_message => "no callback found for message '$tag'";
425}; 425};
426 426
427sub port(;&) { 427sub port(;&) {
428 my $id = $UNIQ . ++$ID; 428 my $id = $UNIQ . ++$ID;
539 $port 539 $port
540} 540}
541 541
542=item peval $port, $coderef[, @args] 542=item peval $port, $coderef[, @args]
543 543
544Evaluates the given C<$codref> within the contetx of C<$port>, that is, 544Evaluates the given C<$codref> within the context of C<$port>, that is,
545when the code throws an exception the C<$port> will be killed. 545when the code throws an exception the C<$port> will be killed.
546 546
547Any remaining args will be passed to the callback. Any return values will 547Any remaining args will be passed to the callback. Any return values will
548be returned to the caller. 548be returned to the caller.
549 549
1314C<grp_mon> can be replaced by C<db_mon> with minor changes - C<db_mon> 1314C<grp_mon> can be replaced by C<db_mon> with minor changes - C<db_mon>
1315passes a hash as first argument, and an extra C<$chg> argument that can be 1315passes a hash as first argument, and an extra C<$chg> argument that can be
1316ignored: 1316ignored:
1317 1317
1318 db_mon $group => sub { 1318 db_mon $group => sub {
1319 my ($ports, $add, $chg, $lde) = @_; 1319 my ($ports, $add, $chg, $del) = @_;
1320 $ports = [keys %$ports]; 1320 $ports = [keys %$ports];
1321 1321
1322 # now $ports, $add and $del are the same as 1322 # now $ports, $add and $del are the same as
1323 # were originally passed by grp_mon. 1323 # were originally passed by grp_mon.
1324 ... 1324 ...
1378=back 1378=back
1379 1379
1380=head1 LOGGING 1380=head1 LOGGING
1381 1381
1382AnyEvent::MP does not normally log anything by itself, but since it is the 1382AnyEvent::MP does not normally log anything by itself, but since it is the
1383root of the contetx hierarchy for AnyEvent::MP modules, it will receive 1383root of the context hierarchy for AnyEvent::MP modules, it will receive
1384all log messages by submodules. 1384all log messages by submodules.
1385 1385
1386=head1 SEE ALSO 1386=head1 SEE ALSO
1387 1387
1388L<AnyEvent::MP::Intro> - a gentle introduction. 1388L<AnyEvent::MP::Intro> - a gentle introduction.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines