Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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);
                }
            }
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        /* 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));
        }