x.write(out);
out.writeMessageEnd();
out.getTransport().flush();
return true;
}
TUGIContainingTransport ugiTrans = (TUGIContainingTransport)in.getTransport();
// Store ugi in transport if the rpc is set_ugi
if (msg.name.equalsIgnoreCase("set_ugi")){
try {
handleSetUGI(ugiTrans, (set_ugi<Iface>)fn, msg, in, out);
} catch (TException e) {
throw e;
} catch (Exception e) {
throw new TException(e.getCause());
}
return true;
}
UserGroupInformation clientUgi = ugiTrans.getClientUGI();
if (null == clientUgi){
// At this point, transport must contain client ugi, if it doesn't then its an old client.
fn.process(msg.seqid, in, out, iface);
return true;
} else { // Found ugi, perform doAs().