示例#1
0
        private void SendAcceptedReply(RpcCall call, EndPoint remoteAddress, RpcAcceptedReply.AcceptState
                                       acceptState, ChannelHandlerContext ctx)
        {
            RpcAcceptedReply reply = RpcAcceptedReply.GetInstance(call.GetXid(), acceptState,
                                                                  Verifier.VerifierNone);
            XDR @out = new XDR();

            reply.Write(@out);
            if (acceptState == RpcAcceptedReply.AcceptState.ProgMismatch)
            {
                @out.WriteInt(lowProgVersion);
                @out.WriteInt(highProgVersion);
            }
            ChannelBuffer b   = ChannelBuffers.WrappedBuffer(@out.AsReadOnlyWrap().Buffer());
            RpcResponse   rsp = new RpcResponse(b, remoteAddress);

            RpcUtil.SendRpcResponse(ctx, rsp);
        }
示例#2
0
 internal RpcAcceptedReply(int xid, RpcReply.ReplyState state, Verifier verifier,
                           RpcAcceptedReply.AcceptState acceptState)
     : base(xid, state, verifier)
 {
     this.acceptState = acceptState;
 }
示例#3
0
 public static RpcAcceptedReply GetInstance(int xid, RpcAcceptedReply.AcceptState
                                            state, Verifier verifier)
 {
     return(new RpcAcceptedReply(xid, RpcReply.ReplyState.MsgAccepted, verifier, state
                                 ));
 }