对已接受请求的回复

本部分说明了对已接受请求的回复。

网络服务器接受的请求的 RPC 应答消息具有以下结构:

struct accepted_reply areply {
     opaque_auth verf;
     union switch (enum accept_stat stat) {
          case SUCCESS:
               opaque results {0};
               /* procedure specific results start here */
          case PROG_MISMATCH: 
               struct {
                    unsigned int low;
                    unsigned int high;
               } mismatch_info;
          default: 
               void;
     } reply_data;
};

已接受的应答中的结构为:

描述
opaque_auth verf 由服务器生成的认证验证器,用于向调用者标识自身。
enum accept_stat 在 SUCCESS ,进步不匹配和其他适当条件之间充当开关的判别。
accept_stat 枚举数据类型具有以下定义:

enum accept_stat  {
     SUCCESS       = 0,  /* RPC executed successfully        */
     PROG_UNAVAIL  = 1,  /* remote has not exported program  */
     PROG_MISMATCH = 2,  /* remote cannot support version #  */
     PROC_UNAVAIL  = 3,  /* program cannot support procedure */
     GARBAGE_ARGS  = 4,  /* procedure cannot decode params   */
};

accept_stat 枚举数据类型中的结构定义如下:

描述
SUCCESS RPC 调用成功。
PROG_UNAVAIL 远程服务器尚未导出程序。
PROG_MISMATCH 远程服务器无法支持客户机的版本号。 返回服务器支持的远程程序的最低版本号和最高版本号。
PROC_UNAVAIL 程序无法支持所请求的过程。
GARBAGE_ARGS 该过程无法对调用中指定的参数进行解码。
注: 即使服务器接受调用消息,也可能存在错误情况。