diff options
author | bustico | 2006-06-19 10:55:25 +0000 |
---|---|---|
committer | bustico | 2006-06-19 10:55:25 +0000 |
commit | d2597b1ce78b12461c2bb1c90337972e363a23ab (patch) | |
tree | 071906da93057bc233e3c300ddaac3fdba500934 /example/ivymainloop.pl | |
parent | 06f3b9f78f5fb14c3e2387f79348157283a8f682 (diff) | |
download | ivy-perl-d2597b1ce78b12461c2bb1c90337972e363a23ab.zip ivy-perl-d2597b1ce78b12461c2bb1c90337972e363a23ab.tar.gz ivy-perl-d2597b1ce78b12461c2bb1c90337972e363a23ab.tar.bz2 ivy-perl-d2597b1ce78b12461c2bb1c90337972e363a23ab.tar.xz |
1/
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.
Diffstat (limited to 'example/ivymainloop.pl')
0 files changed, 0 insertions, 0 deletions