AnyEvent-MP
view release on metacpan or search on metacpan
hopefully it is random enough.
- aemp shell no longer leaks one port per command.
- nodenames can contain %-escapes such as %n or %u.
- aemp now uses aemp/%n/%u as nodename.
- configure supports "eval", a small perl snippet to initialsie a node,
most useful in "aemp run eval ...".
- known_nodes is gone, it has little value, use all_nodes as
replacement.
- lots of small change and improvements.
- node_is_known has been removed.
- TRACE now shows the portid on SND.
- aggressively reduce number of external modules, to reduce
memory usage for nodes.
- rework most of the documentation.
- clean up MP::Kernel exports.
- include AnyEvent::MP in AnyEvent::MP::Kernel's @CARP_NOT to
hopefully improve error messages.
1.30 Thu Jun 30 11:30:39 CEST 2011
- connection errors at the right time would kill node
connections in a bad way (patch by Malcolm Studd).
1.29 Fri May 7 20:13:39 CEST 2010
- codename "Sadrak".
- fix error in callback at AnyEvent/MP/Global.pm line 339
(found by Sadrak).
- listener-less nodes had trouble sending keepalive
messages on write timeouts (found by Sadrak).
- the monitor guard could cause a memleak due
to autovivification if a mon was cleared after
the port was gone (analysed by Sadrak).
- do not overwrite the config file if we couldn't read it
for some reason (lesson demonstrated by Sadrak).
1.28 Thu Apr 1 21:23:54 CEST 2010
- accepted connections didn't correctly set up the SRCNODE
in some cases, leading to intra-node messages (such as monitoring)
to fail silently (great testcase by Sadrak).
1.27 Sat Mar 20 21:11:16 CET 2010
- avoid exceptions in the transport code if the connection
fails during TLS negotiation.
- delay new address broadcasts in seednodes, to reduce the
likelyhood of nodes connecting at the same time, leading to
message loss.
- improve general message passing efficiency by 8%, and special
case json framing for a 50% speed increase.
- add hints how to interface to aemp nodes from other programming
languages using the aemp protocol in AnyEvent::MP::Transport
(it can really be quite simple).
- handle unsupported remote framings more gracefully.
1.26 Wed Dec 30 16:48:37 CET 2009
- INCOMPATIBLE CHANGE: the high-level node protocol changed,
all nodes need to upgrade.
- remote kil's did not work (reported by Eugene Grigoriev).
- documented monitor_timeout, connect_interval, auth_offer,
auth_accept, framing_format, autocork and nodelay options
and make them configurable via bin/aemp.
- some doc updates.
- remote kil's were not synchronous to message sends which affected
nobody, as remote kils were broken.
- remote mon/unmonitor requests were not synchronous to message
sends either sometimes, although it likely didnt matter.
1.24 Wed Dec 9 14:59:52 CET 2009
- codename "the foul egg".
- increased "unmonitored local port died" message level to 2, so
it is displayed by default now.
- generate random seed at configure time, not module loading time,
so fork&configure works as expected.
- decreased "seed"-related message priority in Global from 0 (d'oh)
to 9, as they are not signifcant.
- new experimental module AnyEvent::MP::DataConn to establish
additional data connections between nodes.
- bin/aemp now loads AnyEvent::Watchdog::Util before trying
to call restart.
- bin/aemp setcert didn't properly handle the filename argument.
- removed empty and unused timeout= parameter from protocol greeting.
1.23 Fri Nov 6 18:46:26 CET 2009
- listener-less nodes were misinformed by their masters about
the location of new nodes, and therefore didn't connect
properly in all cases.
- messages send during node-up processing could sometimes get lost,
which would hamper global's ability to mesh the network.
- fixed AnyEvent::MP::Global::grp_reg to return a guard also
in scalar context.
- fixed AnyEvent::MP::Kernel::mon_nodes to return a guard also
in scalar context.
- try to improve error reporting when automatically loading
a function - being unable to load a module will now
stop the process and report the error.
1.22 Sat Oct 17 03:41:47 CEST 2009
- fix two rcv-bugs: after adding a tagged rcv, the default
callback would not be used or changed anymore (reported
by Felix Antonius Wilhelm Ostmann, with apologies for
taking so long to releae the fix).
- added Coro::MP introduction to AnyEvent::MP::Intro.
- add peval function.
1.21 Mon Oct 5 21:58:36 CEST 2009
- always delay kil messages.
- remote monitor requests were never cleaned up (found by
Sadrak and analysed by elmex).
- move $VERSION to AnyEvent::MP and AnyEvent::MP only.
1.2 Thu Oct 1 22:59:35 CEST 2009
- fix a rather big bug where message processing could be
inhibited completely.
- grp_mon could not return a guard due to a typo.
- implement primitive aemp shell.
- do not use bound address as listen length (reported by
Felix Antonius Wilhelm Ostman).
- no longer export an undefined "reg" function from AE::MP.
- the mon_guard return value no longer keeps an additional
reference to the passed refs.
1.1 Fri Sep 11 04:34:03 CEST 2009
- bumped the transport protocol to version 1 - sorry, but there
were too many bugfixes/changes.
- new function AnyEvent::MP::cal for simple rpc.
( run in 1.367 second using v1.01-cache-2.11-cpan-39bf76dae61 )