AnyEvent-MP
    
    
  
  
  
view release on metacpan or search on metacpan
        - new aemp eval subcommand.
        - new aemp parent subcommand.
        - nodes get freed when no longer needed.
        - support "*" hostname to specify all local interface addresses
          (without localhost etc.).
        - support "*" port to specify a dynamically-assigned port (which
          is the default now).
        - fix per-transport memory leak.
0.9  Sat Aug 29 18:47:45 CEST 2009
	- tutorial was updated to reflect the current API, but
          does not touch monitoring yet.
	- got rid of noderefs and slave nodes entirely, introduce
          free-text node identifiers and anonymous nodes.
        - document security issues with tls_anon method and introduce
          optional tls_md6_64_256 method.
0.8  Wed Aug 19 07:54:50 CEST 2009
	- added AnyEvent::MP::Global service.
	- support "package::" names as service names.
        - many, many, many bugfixes and tweaks.
0.7  Sat Aug 15 01:18:51 CEST 2009
	- sorry, another major API simplification.
	- greatly improved aemp configuration abilities.
        - introduced profile management.
        - updated exmaples in eg/.
        - added Kernel::snd_to_func.
0.6  Thu Aug 13 03:15:05 CEST 2009
	- do away with .aemp-secret and use .perl-anyevent-mp as json config
          file.
        - introduce bin/aemp to configure nodes.
        - too many changes to describe.
0.4  Sun Aug  9 18:05:49 CEST 2009
	- API should now be really stable :)
    
  
  
  
  $list = grp_get $group                     # old
  db_keys $group, sub { my $list = shift }   # new
  grp_mon $group, $cb->(\@ports, $add, $del) # old
  db_mon $group, $cb->(\%ports, $add, $change, $del) # new
C<grp_reg> is a no-brainer (just replace by C<db_reg>), but C<grp_get> is
no longer instant, because the local node might not have a copy of the
group. You can either modify your code to allow for a callback, or use
C<db_mon> to keep an updated copy of the group:
  my $local_group_copy;
  db_mon $group => sub { $local_group_copy = $_[0] };
  # now "keys %$local_group_copy" always returns the most up-to-date
  # list of ports in the group.
C<grp_mon> can be replaced by C<db_mon> with minor changes - C<db_mon>
passes a hash as first argument, and an extra C<$chg> argument that can be
ignored:
    
  
  
  
          $list = grp_get $group                     # old
          db_keys $group, sub { my $list = shift }   # new
          grp_mon $group, $cb->(\@ports, $add, $del) # old
          db_mon $group, $cb->(\%ports, $add, $change, $del) # new
        "grp_reg" is a no-brainer (just replace by "db_reg"), but "grp_get"
        is no longer instant, because the local node might not have a copy
        of the group. You can either modify your code to allow for a
        callback, or use "db_mon" to keep an updated copy of the group:
          my $local_group_copy;
          db_mon $group => sub { $local_group_copy = $_[0] };
          # now "keys %$local_group_copy" always returns the most up-to-date
          # list of ports in the group.
        "grp_mon" can be replaced by "db_mon" with minor changes - "db_mon"
        passes a hash as first argument, and an extra $chg argument that can
        be ignored:
    
  
  
  
( run in 0.447 second using v1.01-cache-2.11-cpan-0a6323c29d9 )