示例#1
0
 public override XDR Serialize(XDR @out, int xid, Verifier verifier)
 {
     base.Serialize(@out, xid, verifier);
     if (GetStatus() == Nfs3Status.Nfs3Ok)
     {
         postOpAttr.Serialize(@out);
     }
     return(@out);
 }
示例#2
0
 public virtual void Serialize(XDR @out)
 {
     @out.WriteBoolean(true);
     // attributes follow
     preOpAttr.Serialize(@out);
     @out.WriteBoolean(true);
     // attributes follow
     postOpAttr.Serialize(@out);
 }
 internal virtual void Seralize(XDR xdr)
 {
     xdr.WriteLongAsHyper(fileId);
     xdr.WriteString(name);
     xdr.WriteLongAsHyper(cookie);
     xdr.WriteBoolean(true);
     nameAttr.Serialize(xdr);
     xdr.WriteBoolean(true);
     objFileHandle.Serialize(xdr);
 }
示例#4
0
 public override XDR Serialize(XDR @out, int xid, Verifier verifier)
 {
     base.Serialize(@out, xid, verifier);
     @out.WriteBoolean(true);
     // Attribute follows
     postOpSymlinkAttr.Serialize(@out);
     if (GetStatus() == Nfs3Status.Nfs3Ok)
     {
         @out.WriteVariableOpaque(path);
     }
     return(@out);
 }
示例#5
0
 public override XDR Serialize(XDR @out, int xid, Verifier verifier)
 {
     base.Serialize(@out, xid, verifier);
     if (this.GetStatus() == Nfs3Status.Nfs3Ok)
     {
         @out.WriteBoolean(true);
         objFileHandle.Serialize(@out);
         @out.WriteBoolean(true);
         objPostOpAttr.Serialize(@out);
     }
     dirWcc.Serialize(@out);
     return(@out);
 }
示例#6
0
 public override XDR Serialize(XDR @out, int xid, Verifier verifier)
 {
     base.Serialize(@out, xid, verifier);
     if (GetStatus() == Nfs3Status.Nfs3Ok)
     {
         @out.WriteBoolean(true);
         // Handle follows
         objFileHandle.Serialize(@out);
         @out.WriteBoolean(true);
         // Attributes follow
         objAttr.Serialize(@out);
     }
     dirWcc.Serialize(@out);
     return(@out);
 }
示例#7
0
 public override XDR Serialize(XDR @out, int xid, Verifier verifier)
 {
     base.Serialize(@out, xid, verifier);
     @out.WriteBoolean(true);
     // Attribute follows
     postOpAttr.Serialize(@out);
     if (GetStatus() == Nfs3Status.Nfs3Ok)
     {
         @out.WriteInt(count);
         @out.WriteBoolean(eof);
         @out.WriteInt(count);
         @out.WriteFixedOpaque(((byte[])data.Array()), count);
     }
     return(@out);
 }
示例#8
0
 public override XDR Serialize(XDR @out, int xid, Verifier verifier)
 {
     base.Serialize(@out, xid, verifier);
     if (this.status == Nfs3Status.Nfs3Ok)
     {
         fileHandle.Serialize(@out);
         @out.WriteBoolean(true);
         // Attribute follows
         postOpObjAttr.Serialize(@out);
     }
     @out.WriteBoolean(true);
     // Attribute follows
     postOpDirAttr.Serialize(@out);
     return(@out);
 }
示例#9
0
 public override XDR Serialize(XDR @out, int xid, Verifier verifier)
 {
     base.Serialize(@out, xid, verifier);
     if (this.GetStatus() == Nfs3Status.Nfs3Ok)
     {
         @out.WriteBoolean(true);
         postOpAttr.Serialize(@out);
         @out.WriteInt(access);
     }
     else
     {
         @out.WriteBoolean(false);
     }
     return(@out);
 }
示例#10
0
 public override XDR Serialize(XDR @out, int xid, Verifier verifier)
 {
     base.Serialize(@out, xid, verifier);
     @out.WriteBoolean(true);
     postOpAttr.Serialize(@out);
     if (GetStatus() == Nfs3Status.Nfs3Ok)
     {
         @out.WriteInt(linkMax);
         @out.WriteInt(nameMax);
         @out.WriteBoolean(noTrunc);
         @out.WriteBoolean(chownRestricted);
         @out.WriteBoolean(caseInsensitive);
         @out.WriteBoolean(casePreserving);
     }
     return(@out);
 }
示例#11
0
 public override XDR Serialize(XDR @out, int xid, Verifier verifier)
 {
     base.Serialize(@out, xid, verifier);
     if (GetStatus() == Nfs3Status.Nfs3Ok)
     {
         @out.WriteBoolean(true);
         // Handle follows
         objHandle.Serialize(@out);
         @out.WriteBoolean(true);
         // Attributes follow
         postOpObjAttr.Serialize(@out);
     }
     if (dirWcc == null)
     {
         dirWcc = new WccData(null, null);
     }
     dirWcc.Serialize(@out);
     return(@out);
 }
示例#12
0
 public override XDR Serialize(XDR @out, int xid, Verifier verifier)
 {
     base.Serialize(@out, xid, verifier);
     @out.WriteBoolean(true);
     postOpAttr.Serialize(@out);
     if (GetStatus() == Nfs3Status.Nfs3Ok)
     {
         @out.WriteInt(rtmax);
         @out.WriteInt(rtpref);
         @out.WriteInt(rtmult);
         @out.WriteInt(wtmax);
         @out.WriteInt(wtpref);
         @out.WriteInt(wtmult);
         @out.WriteInt(dtpref);
         @out.WriteLongAsHyper(maxFileSize);
         timeDelta.Serialize(@out);
         @out.WriteInt(properties);
     }
     return(@out);
 }
示例#13
0
 public override XDR Serialize(XDR xdr, int xid, Verifier verifier)
 {
     base.Serialize(xdr, xid, verifier);
     xdr.WriteBoolean(true);
     // Attributes follow
     postOpDirAttr.Serialize(xdr);
     if (GetStatus() == Nfs3Status.Nfs3Ok)
     {
         xdr.WriteLongAsHyper(cookieVerf);
         foreach (READDIR3Response.Entry3 e in dirList.entries)
         {
             xdr.WriteBoolean(true);
             // Value follows
             e.Seralize(xdr);
         }
         xdr.WriteBoolean(false);
         xdr.WriteBoolean(dirList.eof);
     }
     return(xdr);
 }
示例#14
0
 public override XDR Serialize(XDR @out, int xid, Verifier verifier)
 {
     base.Serialize(@out, xid, verifier);
     @out.WriteBoolean(true);
     if (postOpAttr == null)
     {
         postOpAttr = new Nfs3FileAttributes();
     }
     postOpAttr.Serialize(@out);
     if (GetStatus() == Nfs3Status.Nfs3Ok)
     {
         @out.WriteLongAsHyper(tbytes);
         @out.WriteLongAsHyper(fbytes);
         @out.WriteLongAsHyper(abytes);
         @out.WriteLongAsHyper(tfiles);
         @out.WriteLongAsHyper(ffiles);
         @out.WriteLongAsHyper(afiles);
         @out.WriteInt(invarsec);
     }
     return(@out);
 }
示例#15
0
 public override XDR Serialize(XDR @out, int xid, Verifier verifier)
 {
     base.Serialize(@out, xid, verifier);
     @out.WriteBoolean(true);
     // attributes follow
     if (postOpDirAttr == null)
     {
         postOpDirAttr = new Nfs3FileAttributes();
     }
     postOpDirAttr.Serialize(@out);
     if (GetStatus() == Nfs3Status.Nfs3Ok)
     {
         @out.WriteLongAsHyper(cookieVerf);
         foreach (READDIRPLUS3Response.EntryPlus3 f in dirListPlus.GetEntries())
         {
             @out.WriteBoolean(true);
             // next
             f.Seralize(@out);
         }
         @out.WriteBoolean(false);
         @out.WriteBoolean(dirListPlus.GetEof());
     }
     return(@out);
 }