package uk.co.mmscomputing.device.capi.facility;
import uk.co.mmscomputing.device.capi.*;
public class V42InfoConf extends FacilityConf{
private int mode, noOfCodeWords,maxStringSize;
private int txTotal,txCompressed,rxTotal,rxDecompressed;
public V42InfoConf(Rider r){
super(r);
if(info!=0){return;}
try{
info=r.readWord(); // information available
if(info==0){
mode=r.readWord(); // compression mode
if(mode==1){ // V.42 bis
noOfCodeWords=r.readWord(); // number of code words
maxStringSize=r.readWord(); // max String Size
txTotal=r.readDWord(); // number of octets transmitted
txCompressed=r.readDWord(); // number of octets transmitted after compression
rxTotal=r.readDWord(); // number of octets received
rxDecompressed=r.readDWord(); // number of octets received after decompression
}
}
}catch(IndexOutOfBoundsException ioobe){
ioobe.printStackTrace();
}
}
public int getInfo(){return info;}
public String getInformation(){
if(info!=0){
return "No Information about V42 bis compression available.";
}
String s="";
if(mode==0){
s+="No compression\n";
}else if(mode==1){
s+="V.42 bis compression mode\n";
s+="Number of code words :"+noOfCodeWords+"\n";
s+="Max String Length :"+maxStringSize+"\n";
s+="Number of octets transmitted :"+txTotal+"\n";
s+="Number of octets transmitted after compression :"+txCompressed+"\n";
s+="Number of octets received :"+rxTotal+"\n";
s+="Number of octets received after decompression :"+rxDecompressed+"\n";
}
return s;
}
public String toString(){
String s=super.toString();
s+="info : "+getInformation()+"\n\t";
return s;
}
}