summaryrefslogtreecommitdiff
path: root/Ivy.pm
AgeCommit message (Collapse)Author
2006-10-17fix a big incompability in bonjour message between ivy-perl and othersbustico
inmplementations (uuid and appName were swapped)
2006-10-05Fix two bugs : a/ connection checking based on uuid was failing sometime ↵bustico
because of wrong generation of uuid on 32 bits system (64 bits was ok). b/ bad filtering of non printable char in appname argument in callback statusFunc
2006-10-05fix mainLoop methodbustico
2006-09-21ajout de la fonction bindRegexpOneShot qui permet de s'abonner pour un seul ↵bustico
message, le desabonnement devenant donc automatique.
2006-09-21Ajout de la methode changeRegexp qui permet de changer la regexp d'un abonnementbustico
precedemment fait avec bindRegexp de manière atomique.
2006-09-20Ajout de la fonctionnalité pour capter des intervalles numériquesbustico
de la forme A=((?I10#20)) l'api ne change pas.
2006-07-28Implementation des messages ping et pongbustico
2006-07-19changement d'api :bustico
° bindRegexp : 3eme argument optionnel : si sa valeur est 0 ou undef, fonctionnement inchangé, si sa valeur est 1 le premier argument fourni à la callback est une liste [nom, adresse, n° port] au lieu juste du nom de l'agent qui envoie le message ° la callback statusFunc : est appelée avec 7 arguments au lieu de 6 : arg 1 à 5 inchangé, arg 6 $host_or_regexp changé par $host, $regexp, si il n'y a pas de regexp $regexp vaut undef
2006-06-27° fix a bug : not all the send where completed in non blocking mode when ↵bustico
non blocking mode was requested ° Optimisation : remove buffer copy when it's possible
2006-06-191/bustico
une modification du message UDP Hello afin d'y intégrer un identificateur unique d'application et le nom de l'application Ceci afin de corriger les problèmes de connexion multiples en cas d'utilisation de plusieurs réseau ( il arrive que l'on reçoive plusieurs fois le paquet ) L'identifiant permettra d'identifier à coup sur l'application et donc de rejeter les paquets multiples Le protocole reste compatible avec les anciennes versions d'ivy. 2/ notification des congestions : on spécifier une callback qui sera appelée si un client ne consomme pas ses messages assez vite : la callback n'est appelée que lors d'un changement d'état : congestion ou decongestion. my $bus = Ivy->new (-slowAgentFunc=> \&congestionFunc ) sub congestionFunc ($$$) { my ($name, $addr, $state) = @_; if ($state == 1) { printf ("$name [$addr] %s will stop at N=%d\n", $state ? "CONGESTION" : "OK", $numberOfSentMsg+100); $numberOfSentMsgWhenCongestion = $numberOfSentMsg; } else { printf ("$name [$addr] %s\n", $state ? "CONGESTION" : "OK"); } } 3/ possibilité de rendre Ivy non bloquant : si un client ne consomme pas ses messages assez vite les messages seront accumulés en local et le sendMsgs non bloquant rendra la main. my $bus = Ivy->new (-blockOnSlowAgent => 0) 4/ optimisation en terme de vitesse et de conso mémoire.
2004-12-20* correct a protocol bug in _sendWantedRegexp, the port number is now sended ↵imbert
instead of 0. ---------------------------------------------------------------
2004-09-07Avoid multiple calls to initchatty
2003-10-15commenting a line which should have been commented outmertz
2003-09-17the old, specific CENA perl module gettimeofday-perl has been replaced bymertz
the CPAN world-wide used Time::HiRes module
2003-06-12Fixed handling of result of call to gethostbynamechatty
2003-05-30-no more bug when unbinding regexpsvales
2002-12-05suppressing the print "BroadcastBus: ....." when the agent connects to ivymertz
when an agent is running on an unknown host, we are now using the ip address in replacement of the hostname in the callback associated to the -statusFunc attribute.
2002-09-20man slight correctionmertz
2002-06-20multicast is now possible on with address such as 235.0.1.2:7654mertz
2002-06-18- Verification qu'une socket est bien connectée avant de la fermer,mertz
sinon Segmentation fault - Amélioration mineures des commentaires
2002-06-10amélioration de qqs messages d'erruer (pour Ivy::sendDirectMsgs et Ivy::ping)mertz
2002-06-07- ivy-perl does no more allow subscription to illformed regular expressionsmertz
as for example 'zaza (' or '*' - ivy-perl is now tolerant to illformed regular expressions subscribed by other agent on the bus - ivy-perl warn you when a message containing a \n is send. This is because the \n is currently the message separator - with the statusfunc, it is now possible to know every regexp subscribed / unsubscribed by other agents - the ivyprobe.pl application now displays all subscriptions / unsubscriptions. It also allows unsubscription - when a die message is issued with an unknown agentName, Ivy warn you correctly - man pages enhancements
2002-04-25suppression des plantages dus à es regexp incorrectesmertz
Ivy.pm permet de connaitres les abonnements/desabonnements ivyprobe.pl permet de suivre tous les abonnements / dé-abonnements
2001-11-29modif du man pour mieux expliquer le unbindmertz
2001-11-26Correction de bug dans la méthode DESTROY, introduit lors dedamiano
la suppression des threads (entre la version CVS 1.9 et 1.10)
2001-10-11start method returns now the busmertz
the man has been enhanced
2001-09-05amélioration du formatage de la page de manmertz
2001-09-04Simple addition to subroutine 'start', which allows implementation of ↵sc
message players
2001-07-06deletion of unused pragma, which triggered annoying warnings in perl 5.6mertz
2001-04-05 * Correction of \s and \S expansion in regexpmertz
* Better documentation of statusFunc parameter of New method * if an appli start two times the same bus it still work now
2000-12-21 * This version is compatible again with version 3 of Ivy.mertz
Thats means it can be used again without ivy object. This has been documented in the man pages. However it is preferable to create Ivy objects. * \s and ^\s in regexp are now correctly expanded as tab and blank characters * regular expressions are now case-insensitive (the same as ivy-c!) Of course, case of parameters transmitted on the bus are preserved! * an implementation of ivyprobe is given as an example and as a test tool /usr/bin/ivyprobe.pl -h for more infos. * when :port is used as a domain/port ivy-perl now really do connect to the 127:port bus. * man pages have been enhanced. Some features not yet documented are now (mainly sendDirect / bindDirect / fileEvent). * the stop method works now also with applications written with the C version of ivy. However the hack may not be the good solution!
2000-05-24Version 4.5 : API backward compatibility with version 3 was addedsc
2000-04-20Behaviour wrt bus addresses is now compatible with C version and withchatty
previous Perl versions until 4.0 Translated error messages to English Slightly improved English in documentation
2000-03-09Mauvais copier coller : boucle infiniedamiano
2000-02-23maj des copyright et descriptionmertz
2000-02-02$VERSION and IVY PROTOCOL VERSION may differ.damiano
Add a const IVY_PROTOCOL_VERSION and set it to 3
2000-02-02Add test file to get rid of typosdamiano
2000-02-02Remove thread, correct bugs and add mandamiano
2000-01-18Add observer paramater to method bindRegexpdamiano
Call observer method instead of callback function when applicable
1999-12-22*** empty log message ***damiano
1999-01-21menage repertoirejacomi
1999-01-21headersjacomi
1999-01-08Changed handling of default values in Ivy::start, allowing to pass undef ↵chatty
parameters
1999-01-08Now handles broadcast domains through IVYDOMAINS and args to Ivy::startchatty
Bus->Ivy
1998-12-22Mis le systeme de choix des adresses de broadcastchatty
1998-10-07nouvelle adresse reseau ajouteejacomi
1998-09-04Initial revisiondamiano