
/**Permet de créer un paquet X25. 
 *@author Julien VAN DEN BOSSCHE / Benoît MOULIN   cmoi__at__julienvdb__dot__com / bmoulin@etu.info.unicaen.fr
 *@param extr l'extrémité
 *@param adr1 l'adresse de l'emetteur
 *@param adr2 l'adresse du récepteur
 *@param type le type du paquet : envoi de données /DL ou établissement de CV
 *@param vl la VL
 *@param d la donnée
 */
public class PaquetX25{
    Extremite extr;
    AdresseX25 adr1; //adresse emetteur
    AdresseX25 adr2; //adresse recepteur
    Voie vl;
    String d;
    int type;
 
    /**Constructeur par défaut
     *@param e l'extrémité
     */ 
    public PaquetX25(Extremite e){
	extr = e;
	type=0;
    }

    /**Constructeur dans le cas d'un établissement d'un circuit virtuel
     *@param extr l'extrémité
     *@param adr1 l'adresse de l'emetteur
     *@param adr2 l'adresse du récépteur
     *@param vl la VL
     *@param d la donnée
     */  
    public PaquetX25(Extremite extr, AdresseX25 adr1, AdresseX25 adr2, Voie vl, String d){
	type=1;
	this.extr = extr;
	this.adr1 = adr1;
	this.adr2 = adr2;
	this.vl = vl;
	this.d = d;
    }
    
    /**Constructeur dans le cas d'un envoi de données ou d'une DL
     *@param extr l'extrémité
     *@param vl la VL
     *@param d la donnée
     */
    public PaquetX25(Extremite extr, Voie vl, String d){
	type=2;
	this.extr = extr;
	this.vl = vl;
	this.d = d;
    }

    /**renvoi le type
     */
    public int getType(){
	return type;
    }

    /**renvoi l'extrémité
     */
    public Extremite getExtremite(){
	return extr;
    }

    /**renvoi l'adresse de l'emetteur
     */
    public AdresseX25 getAdresseEmetteur(){
	return adr1;
    }
    
    /**renvoi l'adresse du récepteur
     */
    public AdresseX25 getAdresseRecepteur(){
	return adr2;
    }

    /**renvoi la vl
     */
    public Voie getVL(){
	return vl;
    }
    
    /**renvoi la donnée
     */
    public String getDonnees(){
	return d;
    }
}
