public static nfs_argop4 generateRequest(bool CacheThis, byte[] SessId, int SeqId, int HighestSlot, int SlotId) { nfs_argop4 op = new nfs_argop4(); op.argop = nfs_opnum4.OP_SEQUENCE; op.opsequence = new SEQUENCE4args(); op.opsequence.sa_cachethis = CacheThis; slotid4 sId = new slotid4(); sId.value = new uint32_t(SlotId); op.opsequence.sa_slotid = sId; slotid4 HsId = new slotid4(); HsId.value = new uint32_t(HighestSlot); op.opsequence.sa_highest_slotid = HsId; sequenceid4 seq = new sequenceid4(); seq.value = new uint32_t(++SeqId); op.opsequence.sa_sequenceid = seq; sessionid4 sess = new sessionid4(); sess.value = SessId; op.opsequence.sa_sessionid = sess; return op; }
public static nfs_argop4 standard(sessionid4 sessionid) { nfs_argop4 op = new nfs_argop4(); op.argop = nfs_opnum4.OP_DESTROY_SESSION; op.opdestroy_session = new DESTROY_SESSION4args(); op.opdestroy_session.dsa_sessionid = sessionid; return op; }
public static nfs_argop4 standard(sessionid4 sessionid) { nfs_argop4 op = new nfs_argop4(); op.argop = nfs_opnum4.OP_DESTROY_SESSION; op.opdestroy_session = new DESTROY_SESSION4args(); op.opdestroy_session.dsa_sessionid = sessionid; return(op); }
private void destroy_session() { if (_sessionid != null) { List <nfs_argop4> ops = new List <nfs_argop4>(); ops.Add(DestroySessionStub.standard(_sessionid)); COMPOUND4res compound4res = sendCompound(ops, ""); _sessionid = null; } }
private void create_session() { List <nfs_argop4> ops = new List <nfs_argop4>(); ops.Add(CreateSessionStub.standard(_clientIdByServer, _sequenceID)); COMPOUND4res compound4res = sendCompound(ops, ""); if (compound4res.status == nfsstat4.NFS4_OK) { _sessionid = compound4res.resarray[0].opcreate_session.csr_resok4.csr_sessionid; // FIXME: no idea why, but other wise server reply MISORDER _sequenceID.value.value = 0; maxTRrate = compound4res.resarray[0].opcreate_session.csr_resok4.csr_fore_chan_attrs.ca_maxrequestsize.value.value; maxRXrate = compound4res.resarray[0].opcreate_session.csr_resok4.csr_fore_chan_attrs.ca_maxresponsesize.value.value; } else { throw new NFSConnectionException(nfsstat4.getErrorString(compound4res.status)); } }