use of io.nuls.network.model.Node 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();
}
use of io.nuls.network.model.Node 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();
}
use of io.nuls.network.model.Node 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();
}
use of io.nuls.network.model.Node in project nuls by nuls-io.
the class NodeMessageBody method serializeToStream.
/**
* serialize important field
*/
@Override
protected void serializeToStream(NulsOutputStreamBuffer stream) throws IOException {
int count = nodeList == null ? 0 : nodeList.size();
stream.writeVarInt(count);
if (null != nodeList) {
for (Node node : nodeList) {
stream.writeNulsData(node);
}
}
}
use of io.nuls.network.model.Node in project nuls by nuls-io.
the class NodeMessageBody method size.
@Override
public int size() {
int s = 0;
s += SerializeUtils.sizeOfVarInt(nodeList == null ? 0 : nodeList.size());
if (nodeList != null) {
for (Node node : nodeList) {
s += node.size();
}
}
return s;
}
Aggregations