internal AutoCSer.Net.TcpServer.AwaiterBox <ReturnParameter> QueryAsynchronousAwaiter(DataStructure.Abstract.Node node) { if (isMasterClient) { return(MasterClient.QueryAsynchronousAwaiter(new OperationParameter.QueryNode { Node = node })); } return(slaveClient.QueryAsynchronousAwaiter(new OperationParameter.QueryNode { Node = node })); }
/// <summary> /// 异步查询数据 /// </summary> /// <param name="node"></param> /// <returns></returns> internal async Task <AutoCSer.Net.TcpServer.ReturnValue <ReturnParameter> > MasterQueryAsynchronousAwaiter(ShortPath.Parameter.Node node) { ShortPath.Node shortPath = node.ShortPath; ReturnType returnType = shortPath.Check(MasterClient); if (returnType == ReturnType.Success) { AutoCSer.Net.TcpServer.ReturnValue <ReturnParameter> value = await MasterClient.QueryAsynchronousAwaiter(new OperationParameter.ShortPathQueryNode { Node = node }); if (value.Type == Net.TcpServer.ReturnType.Success && shortPath.ReCreate(MasterClient, ref value.Value.Parameter.ReturnType)) { return(await MasterClient.QueryAsynchronousAwaiter(new OperationParameter.ShortPathQueryNode { Node = node })); } return(value); } return(new ReturnParameter(returnType)); }