コード例 #1
0
 public void dispatchOncRpcCall(OncRpcCallInformation call, int program, int version, int procedure)
 {
     if (version == 4)
     {
         switch (procedure)
         {
             case 0:
                 {
                     call.retrieveCall(XdrVoid.XDR_VOID);
                     NFSPROC4_NULL_4();
                     call.reply(XdrVoid.XDR_VOID);
                     break;
                 }
             case 1:
                 {
                     COMPOUND4args args_ = new COMPOUND4args();
                     call.retrieveCall(args_);
                     COMPOUND4res result_ = NFSPROC4_COMPOUND_4(args_);
                     call.reply(result_);
                     break;
                 }
             default:
                 call.failProcedureUnavailable();
                 break;
         }
     }
     else
     {
         call.failProgramUnavailable();
     }
 }
コード例 #2
0
        /**
         * Call remote procedure NFSPROC4_COMPOUND_4.
         * @param arg1 parameter (of type COMPOUND4args) to the remote procedure call.
         * @return Result from remote procedure call (of type COMPOUND4res).
         * @throws OncRpcException if an ONC/RPC error occurs.
         * @throws IOException if an I/O error occurs.
         */
        public COMPOUND4res NFSPROC4_COMPOUND_4(COMPOUND4args arg1)
        {
            COMPOUND4res result_ = new COMPOUND4res();

            client.call(NFSv4Protocol.NFSPROC4_COMPOUND_4, NFSv4Protocol.NFS_V4, arg1, result_);
            return(result_);
        }
コード例 #3
0
 /**
  * Call remote procedure NFSPROC4_COMPOUND_4.
  * @param arg1 parameter (of type COMPOUND4args) to the remote procedure call.
  * @return Result from remote procedure call (of type COMPOUND4res).
  * @throws OncRpcException if an ONC/RPC error occurs.
  * @throws IOException if an I/O error occurs.
  */
 public COMPOUND4res NFSPROC4_COMPOUND_4(COMPOUND4args arg1) {
     COMPOUND4res result_ = new COMPOUND4res();
     client.call(NFSv4Protocol.NFSPROC4_COMPOUND_4, NFSv4Protocol.NFS_V4, arg1, result_);
     return result_;
 }
コード例 #4
0
ファイル: NFSv4.1.cs プロジェクト: zjianliu/NFSClient
        public void processSequence(COMPOUND4res compound4res, COMPOUND4args compound4args)
        {

            if (compound4res.resarray!=null && compound4res.resarray.Length!=0 &&  compound4res.resarray[0].resop == nfs_opnum4.OP_SEQUENCE &&
                    compound4res.resarray[0].opsequence.sr_status == nfsstat4.NFS4_OK)
            {

                _lastUpdate = GetGMTInMS();
                ++_sequenceID.value.value;
                //let's try this also
                if (compound4res.status == nfsstat4.NFS4ERR_DELAY)
                    compound4args.argarray[0].opsequence.sa_sequenceid.value.value++;

            }
        }