package P9P.rpcSrv;
import java.io.*;
import P9P.msg.*;
import PFS.*;
public class rpc9Pread extends rpc9P {
Tread9P tmsg;
public rpc9Pread (Tread9P m) {
tmsg = m;
}
public rmsg9P process(fidtable fidt) {
Rread9P rmsg = new Rread9P();
pfid qid=fidt.get(tmsg.fid.value);
byte[] b;
if (qid!=null) {
try {
b = qid.read (tmsg.offset.value,tmsg.count.value);
}
catch (Exception e) {
return returnError("[Tread]",tmsg.tag,e);
}
rmsg.type.value=cto9P.Rread;
rmsg.tag.value = tmsg.tag.value;
rmsg.data.value = b;
if (b==null)
rmsg.count.value = 0;
else
rmsg.count.value = b.length;
return rmsg;
}
return returnError("[Tread] Error FID NO found.",tmsg.tag,null);
}
}