Example #1
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_);
        }
Example #2
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();
     }
 }
 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();
     }
 }
Example #4
0
 public abstract COMPOUND4res NFSPROC4_COMPOUND_4(COMPOUND4args arg1);
 /**
  * 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_;
 }
 public abstract COMPOUND4res NFSPROC4_COMPOUND_4(COMPOUND4args arg1);
Example #7
0
        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++;

            }
        }
Example #8
0
        public static COMPOUND4args generateCompound(String tag,
        List<nfs_argop4> opList)
        {

            System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
            byte[] bytes = encoding.GetBytes(tag);

            COMPOUND4args compound4args = new COMPOUND4args();
            compound4args.tag = new utf8str_cs(new utf8string(bytes));
            compound4args.minorversion = new uint32_t(1);

            //compound4args.argarray = opList.ToArray(new nfs_argop4[opList.Count]);
            compound4args.argarray = opList.ToArray();

            return compound4args;

        }