Search in sources :

Example 16 with Result

use of io.nuls.kernel.model.Result in project nuls by nuls-io.

the class RequestThread method request.

private boolean request(Node node, long start, int size) {
    GetBlocksByHeightMessage message = new GetBlocksByHeightMessage(start, start + size - 1);
    Result result = service.sendToNode(message, node, true);
    return result.isSuccess();
}
Also used : GetBlocksByHeightMessage(io.nuls.protocol.message.GetBlocksByHeightMessage) Result(io.nuls.kernel.model.Result)

Example 17 with Result

use of io.nuls.kernel.model.Result in project nuls by nuls-io.

the class MessageBusServiceImpl method getNodeIdListResult.

private Result<List<String>> getNodeIdListResult(BroadcastResult result) {
    List<String> list = new ArrayList<>();
    if (!result.isSuccess() || result.getBroadcastNodes() == null || result.getBroadcastNodes().isEmpty()) {
        return Result.getFailed(result.getErrorCode()).setData(list);
    }
    for (Node node : result.getBroadcastNodes()) {
        list.add(node.getId());
    }
    Result rs = new Result();
    rs.setSuccess(true);
    rs.setData(list);
    return rs;
}
Also used : Node(io.nuls.network.model.Node) ArrayList(java.util.ArrayList) BroadcastResult(io.nuls.network.model.BroadcastResult) Result(io.nuls.kernel.model.Result)

Example 18 with Result

use of io.nuls.kernel.model.Result in project nuls by nuls-io.

the class NetworkResource method getNetworkInfo.

// private NodeCacheManager nodeCacheManager = NodeCacheManager.getInstance();
@GET
@Path("/info/")
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "查询网络最新信息")
@ApiResponses(value = { @ApiResponse(code = 200, message = "success", response = NetworkInfoDto.class) })
public RpcClientResult getNetworkInfo() {
    NetworkInfoDto info = new NetworkInfoDto(NulsContext.getInstance().getBestBlock().getHeader().getHeight(), NulsContext.getInstance().getNetBestBlockHeight(), TimeService.getNetTimeOffset());
    Collection<Node> collections = networkService.getAvailableNodes();
    int inCount = 0;
    int outCount = 0;
    for (Node node : collections) {
        if (node.getType() == Node.IN) {
            inCount++;
        } else {
            outCount++;
        }
    }
    info.setInCount(inCount);
    info.setOutCount(outCount);
    info.setMastUpGrade(NulsContext.mastUpGrade);
    Result result = Result.getSuccess();
    result.setData(info);
    return result.toRpcClientResult();
}
Also used : Node(io.nuls.network.model.Node) NetworkInfoDto(io.nuls.network.rpc.model.NetworkInfoDto) RpcClientResult(io.nuls.kernel.model.RpcClientResult) Result(io.nuls.kernel.model.Result) Path(javax.ws.rs.Path) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET) ApiOperation(io.swagger.annotations.ApiOperation) ApiResponses(io.swagger.annotations.ApiResponses)

Example 19 with Result

use of io.nuls.kernel.model.Result in project nuls by nuls-io.

the class NetworkResource method getPeers.

@GET
@Path("/peers")
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation("查询节点[3.7.2]")
@ApiResponses(value = { @ApiResponse(code = 200, message = "success", response = NodeDto.class) })
public RpcClientResult getPeers() {
    List<Node> nodeList = networkService.getCanConnectNodes();
    Result result = Result.getSuccess();
    List<NodeDto> dtoList = new ArrayList<>();
    for (Node node : nodeList) {
        NodeDto dto = new NodeDto();
        dto.setIp(node.getIp());
        dto.setPort(node.getPort());
        dtoList.add(dto);
    }
    Map<String, List<NodeDto>> map = new HashMap<>();
    map.put("list", dtoList);
    result.setData(map);
    return result.toRpcClientResult();
}
Also used : Node(io.nuls.network.model.Node) NodeDto(io.nuls.network.rpc.model.NodeDto) RpcClientResult(io.nuls.kernel.model.RpcClientResult) Result(io.nuls.kernel.model.Result) Path(javax.ws.rs.Path) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET) ApiOperation(io.swagger.annotations.ApiOperation) ApiResponses(io.swagger.annotations.ApiResponses)

Example 20 with Result

use of io.nuls.kernel.model.Result in project nuls by nuls-io.

the class NetworkResource method getNode.

@GET
@Path("/nodes")
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation("查询节点IP [3.7.2]")
@ApiResponses(value = { @ApiResponse(code = 200, message = "success", response = String[].class) })
public RpcClientResult getNode() {
    Set<String> ipSet = new HashSet<>();
    List<Node> nodeList = networkService.getCanConnectNodes();
    nodeList.addAll(networkService.getAvailableNodes());
    for (Node node : nodeList) {
        ipSet.add(node.getIp());
    }
    Result result = Result.getSuccess();
    Map<String, Set<String>> map = new HashMap<>();
    map.put("list", ipSet);
    result.setData(map);
    return result.toRpcClientResult();
}
Also used : Node(io.nuls.network.model.Node) RpcClientResult(io.nuls.kernel.model.RpcClientResult) Result(io.nuls.kernel.model.Result) Path(javax.ws.rs.Path) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET) ApiOperation(io.swagger.annotations.ApiOperation) ApiResponses(io.swagger.annotations.ApiResponses)

Aggregations

Result (io.nuls.kernel.model.Result)70 NulsException (io.nuls.kernel.exception.NulsException)16 IOException (java.io.IOException)15 NulsRuntimeException (io.nuls.kernel.exception.NulsRuntimeException)12 ValidateResult (io.nuls.kernel.validate.ValidateResult)11 AccountPo (io.nuls.account.storage.po.AccountPo)7 RpcClientResult (io.nuls.kernel.model.RpcClientResult)7 ArrayList (java.util.ArrayList)7 Account (io.nuls.account.model.Account)6 NulsDigestData (io.nuls.kernel.model.NulsDigestData)5 Test (org.junit.Test)5 CryptoException (io.nuls.core.tools.crypto.Exception.CryptoException)4 BatchOperation (io.nuls.db.service.BatchOperation)4 Address (io.nuls.kernel.model.Address)4 Block (io.nuls.kernel.model.Block)4 BlockHeader (io.nuls.kernel.model.BlockHeader)4 Transaction (io.nuls.kernel.model.Transaction)4 Node (io.nuls.network.model.Node)4 NotFound (io.nuls.protocol.model.NotFound)4 ApiOperation (io.swagger.annotations.ApiOperation)4