AnyEvent-MP

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

TODO: maybe disbale warnings by default?
TODO: listener-scopes (10.0.0.1:4040@vpn) and connect-scopes ("vpn,public")
TODO: document env-variable usage
TODO: make node objects responsible for keepalive?

faq: can't se anything
faq: all is asynch
faq: how to interface to non-perl nodes?

TODO: check gproto, nproto, on connect
TODO: limiting reconnecting speed when unreachable? somehow use same interval timers as for seeding and keepalive?
TODO: multiple profiles? also some default profiles?
TODO: export keepalive?
TODO: $guard = con $cb->($up)
TODO: aemp readline support
TODO: gleeco re: AE::MP::DataConn -
TODO: version both in MP.pm and MP/Config.pm because of cpan indexer

2.02 Sun Jul 29 04:22:53 CEST 2018
	- hardcode version in MP.pm to help the CPAN indexer.

2.01 Tue Jul 24 09:02:34 CEST 2018
	- try to work around a race condition that we can't identify
          (patch suggested by Sadrak).

2.0  Tue Jul 24 08:52:26 CEST 2018
	- INCOMPATIBLE CHANGE: the node protocol used by this version is not
          compatible to versions <2 - you have to upgrade all nodes.
        - INCOMPATIBLE CHANGE: many APIs have changed, see the section
          "PORTING FROM VERSION 1" in the AnyEvent::MP manpage for details.
        - AnyEvent::MP::Global is now optional - only seed nodes autoload it
          and create a fully-meshed network with each other, normal nodes only
          have to connect to seed nodes, other connections are on-demand.
        - remove md6 auth algorithms (and use algorithms based on SHA3 instead).
        - implement CBOR framing and make it the preferred format.
	- new "norc" and "force" options for MP::configure to ignore
          or override the rc file.
        - a shitload of minor and major fixes all reported and debugged
          by Felix Ostmann.
	- move seed code to Kernel.
        - non-json receive framing was probably broken.
        - fixed small typo in MP::Transport.
        - fix (unused) provider-kv (version sometimes missing).
        - reduce the default export list of MP::Kernel.
        - reduced various random delays to zero, as they
          are hopefully no longer needed with the new global
          protocol.
        - implement a secure mode that can suppress (some) code execution
          requests.
        - do not use GMP for generating alphanumeric strings even when
          available, use a more tricky algorithm instead.
        - anonymous node names and remote port names have been shortened
          considerably.
        - $AnyEvent::MP::Kernel::SRCNODE contains the node ID of the origin
          node during message receives.
        - aemp shell now supports "package" selection and offers an
          $ECHO port you can send messages to.
        - rely on perl rand() instead of using /dev/urandom when available, as
          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



( run in 2.793 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )