public async Task <VoidRsp> SaveAsync(AccountReq request, int timeOut = 3000) { AmpMessage message = AmpMessage.CreateRequestMessage(1001, 3); message.Data = request.ToByteArray(); var response = await base.CallInvoker.AsyncCall(message, timeOut); if (response == null) { throw new RpcException("error,response is null !"); } if (response.Data == null) { return(new VoidRsp()); } return(VoidRsp.Parser.ParseFrom(response.Data)); }
//同步方法 public VoidRsp Save(AccountReq request) { AmpMessage message = AmpMessage.CreateRequestMessage(1001, 3); message.Data = request.ToByteArray(); var response = base.CallInvoker.BlockingCall(message); if (response == null) { throw new RpcException("error,response is null !"); } if (response.Data == null) { return(new VoidRsp()); } return(VoidRsp.Parser.ParseFrom(response.Data)); }
//调用委托 private async Task <AmpMessage> ProcessUpdateStatisticsAsync(AmpMessage req) { AccountReq request = null; if (req.Data == null) { request = new AccountReq(); } else { request = AccountReq.Parser.ParseFrom(req.Data); } var data = await UpdateStatisticsAsync(request); var response = AmpMessage.CreateResponseMessage(req.ServiceId, req.MessageId); response.Sequence = req.Sequence; response.Data = data.ToByteArray(); return(response); }
//抽象方法 public abstract Task <VoidRsp> UpdateStatisticsAsync(AccountReq request);
//抽象方法 public abstract Task <VoidRsp> SaveAsync(AccountReq request);