public static Org.Apache.Hadoop.Nfs.Nfs3.Response.FSINFO3Response Deserialize(XDR xdr) { int status = xdr.ReadInt(); xdr.ReadBoolean(); Nfs3FileAttributes postOpObjAttr = Nfs3FileAttributes.Deserialize(xdr); int rtmax = 0; int rtpref = 0; int rtmult = 0; int wtmax = 0; int wtpref = 0; int wtmult = 0; int dtpref = 0; long maxFileSize = 0; NfsTime timeDelta = null; int properties = 0; if (status == Nfs3Status.Nfs3Ok) { rtmax = xdr.ReadInt(); rtpref = xdr.ReadInt(); rtmult = xdr.ReadInt(); wtmax = xdr.ReadInt(); wtpref = xdr.ReadInt(); wtmult = xdr.ReadInt(); dtpref = xdr.ReadInt(); maxFileSize = xdr.ReadHyper(); timeDelta = NfsTime.Deserialize(xdr); properties = xdr.ReadInt(); } return(new Org.Apache.Hadoop.Nfs.Nfs3.Response.FSINFO3Response(status, postOpObjAttr , rtmax, rtpref, rtmult, wtmax, wtpref, wtmult, dtpref, maxFileSize, timeDelta, properties)); }
public static Org.Apache.Hadoop.Nfs.Nfs3.Response.WccAttr Deserialize(XDR xdr) { long size = xdr.ReadHyper(); NfsTime mtime = NfsTime.Deserialize(xdr); NfsTime ctime = NfsTime.Deserialize(xdr); return(new Org.Apache.Hadoop.Nfs.Nfs3.Response.WccAttr(size, mtime, ctime)); }
public virtual void Deserialize(XDR xdr) { if (xdr.ReadBoolean()) { mode = xdr.ReadInt(); updateFields.AddItem(SetAttr3.SetAttrField.Mode); } if (xdr.ReadBoolean()) { uid = xdr.ReadInt(); updateFields.AddItem(SetAttr3.SetAttrField.Uid); } if (xdr.ReadBoolean()) { gid = xdr.ReadInt(); updateFields.AddItem(SetAttr3.SetAttrField.Gid); } if (xdr.ReadBoolean()) { size = xdr.ReadHyper(); updateFields.AddItem(SetAttr3.SetAttrField.Size); } int timeSetHow = xdr.ReadInt(); if (timeSetHow == TimeSetToClientTime) { atime = NfsTime.Deserialize(xdr); updateFields.AddItem(SetAttr3.SetAttrField.Atime); } else { if (timeSetHow == TimeSetToServerTime) { atime = new NfsTime(Runtime.CurrentTimeMillis()); updateFields.AddItem(SetAttr3.SetAttrField.Atime); } } timeSetHow = xdr.ReadInt(); if (timeSetHow == TimeSetToClientTime) { mtime = NfsTime.Deserialize(xdr); updateFields.AddItem(SetAttr3.SetAttrField.Mtime); } else { if (timeSetHow == TimeSetToServerTime) { mtime = new NfsTime(Runtime.CurrentTimeMillis()); updateFields.AddItem(SetAttr3.SetAttrField.Mtime); } } }
public static Nfs3FileAttributes Deserialize(XDR xdr) { Nfs3FileAttributes attr = new Nfs3FileAttributes(); attr.type = xdr.ReadInt(); attr.mode = xdr.ReadInt(); attr.nlink = xdr.ReadInt(); attr.uid = xdr.ReadInt(); attr.gid = xdr.ReadInt(); attr.size = xdr.ReadHyper(); attr.used = xdr.ReadHyper(); attr.rdev = new Nfs3FileAttributes.Specdata3(xdr.ReadInt(), xdr.ReadInt()); attr.fsid = xdr.ReadHyper(); attr.fileId = xdr.ReadHyper(); attr.atime = NfsTime.Deserialize(xdr); attr.mtime = NfsTime.Deserialize(xdr); attr.ctime = NfsTime.Deserialize(xdr); return(attr); }
/* A client may request that the server check that the object is in an * expected state before performing the SETATTR operation. If guard.check is * TRUE, the server must compare the value of ctime to the current ctime of * the object. If the values are different, the server must preserve the * object attributes and must return a status of NFS3ERR_NOT_SYNC. If check is * FALSE, the server will not perform this check. */ /// <exception cref="System.IO.IOException"/> public static Org.Apache.Hadoop.Nfs.Nfs3.Request.SETATTR3Request Deserialize(XDR xdr) { FileHandle handle = ReadHandle(xdr); SetAttr3 attr = new SetAttr3(); attr.Deserialize(xdr); bool check = xdr.ReadBoolean(); NfsTime ctime; if (check) { ctime = NfsTime.Deserialize(xdr); } else { ctime = null; } return(new Org.Apache.Hadoop.Nfs.Nfs3.Request.SETATTR3Request(handle, attr, check , ctime)); }