common
Class TimeAdjustment

java.lang.Object
  extended by common.TimeAdjustment
Direct Known Subclasses:
RandomLost

public abstract class TimeAdjustment
extends Object

Décide de modifier ou non le temps d'attente entre l'envoi de deux paquets du client.

Le gestionnaire de fichier serveur appelle à chaque paquet écrit la méthode decide(double, double, double) avec les données (nombre de paquets reçus et perdus, temps d'attente total) mises à jour.

Les implémentations de cette classe décident alors de modifier le temps d'attente et envoient leurs décision au client.


Field Summary
private  TCPHandler tcpConnection
          Gestionnaire de connexion TCP.
 
Constructor Summary
TimeAdjustment()
           
 
Method Summary
abstract  void decide(double numberPacketReceived, double numberPacketLost, double totalTime)
          Prend la décision de modifier le temps d'attente.
protected  void sendDecision(long newTime)
          Envoie le nouveau temps d'attente entre les paquets.
 void setTcpConnection(TCPHandler tcpConnection)
          Spécifie le gestionnaire TCP utilisé pour faire part de la décision prise au client.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tcpConnection

private TCPHandler tcpConnection
Gestionnaire de connexion TCP.

Constructor Detail

TimeAdjustment

public TimeAdjustment()
Method Detail

sendDecision

protected void sendDecision(long newTime)
Envoie le nouveau temps d'attente entre les paquets.

Parameters:
newTime - temps d'attente en millisecondes.

decide

public abstract void decide(double numberPacketReceived,
                            double numberPacketLost,
                            double totalTime)
Prend la décision de modifier le temps d'attente.

Parameters:
numberPacketReceived - nombre total de paquets reçus.
numberPacketLost - nombre total de paquets perdus. Si un même paquet est perdu plusieurs fois, il sera compté plusieurs fois. Dans le cas d'une connexion extrêment mauvaise le taux de perte pourrait être supérieur à 1.
totalTime - temps d'attente total (en millisecondes) des paquets.

setTcpConnection

public void setTcpConnection(TCPHandler tcpConnection)
Spécifie le gestionnaire TCP utilisé pour faire part de la décision prise au client.

Parameters:
tcpConnection - gestionnaire TCP manipulant la connexion client.