From a2d52b943e3064b8ca86a8a59b8970898b373a34 Mon Sep 17 00:00:00 2001 From: jestin Date: Fri, 22 Jul 2011 16:53:52 +0000 Subject: --- Changelog | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'Changelog') diff --git a/Changelog b/Changelog index 8512239..42cc88e 100644 --- a/Changelog +++ b/Changelog @@ -1,4 +1,60 @@ -------------------------------------------------------------------- +1.2.14 + + New API: + - added sypport to the Swing Dispatch Thread in the bindAsyncMsg api. + this breaks the former API. Use BindType.SWING as the latter argument. + - severe problems throws RuntimeException instead of System.exit(), + allows code reuse. + - many methods now are protected, with accessors + - removed unread fields (Ivy.domainaddr, e.g.) + - ready message is set to appName + " READY" if null has been + provided, like in the C# api + - lowercase CheckRegexp to checkRegexp (bad practice, thanks to + FindBugs). + Doc: + - javadoc updated (a bit) + - removed protected methods from javadoc + switch to apache fop + docbook for documentation translation + Internals: + + - added a lock mechanism to be sure that once a connexion + has been initiated, the ready message will be sent before + stopping the bus now: Ivy b = new Ivy(...); b.sendMsg("coucou"); + b.stop(); should send messages (at least the ready message) + if there is a connexion attempt made before b.stop() is + effective. To be sure, there is a 200ms delay before b.stop() + can be effective (the Threads stopped, the sockets closed) + - IMPORTANT ! switch from gnu regexp (deprecated) to the + built in java + regexp. + - IMPORTANT ! Reintroduced a mechanism to allow the drop of a double + connexion attempt. + - use new synchronization scheme with locks (app socket, structures) + - add generic types to declarations, the code now won't ompile on java + prior to the 1.5 platform + - fixed a potential null pointer dereference on quit (thanks to + findBugs) + - remove the Thread.start() from the constructor, to avoid mulithread + issues. see + http://findbugs.sourceforge.net/bugDescriptions.html#SC_START_IN_CTOR. + now ,we have to call IvyClient.start() after it has been created + - IvyWatcher tries to fix a lock on accept() by becoming a Thread + instead of runnalbe (see tests/test2). + Internal performance issus + - use of stringbuffers to concatenate strings, instead of using +, + which could lead to a quadractic cost in the number of iteraction (the + growing string was recopied in each iteration). + - when possible, move the regexp Pattern.compile in static areas, to + avoid multiple calls. + - recopy the filter String[] in setfilter, to avoid exposing internal + representation (unsafe operation). + - in many areas, e.g. Hashtable keys, use autoboxing for the creation + of Integer (instead of new Integer(int). This alows caching, avoids + object allocation, and the * code will be faster. + + +-------------------------------------------------------------------- 1.2.13 mise en place de TCP_NO_DELAY, pour desactiver l'algorithme de Naggle -- cgit v1.1