use of io.nuls.protocol.model.BlockHashResponse in project nuls by nuls-io.
the class GetBlocksHashHandler method onMessage.
@Override
public void onMessage(GetBlocksHashMessage message, Node fromNode) {
GetBlocksHashParam param = message.getMsgBody();
if (param.getEndHeight() - param.getStartHeight() >= MAX_SIZE) {
return;
}
NulsDigestData requestHash = message.getHash();
BlockHeader endHeader = blockService.getBlockHeader(param.getEndHeight()).getData();
if (null == endHeader) {
sendNotFound(fromNode, requestHash);
return;
}
BlockHashResponse response = new BlockHashResponse();
response.setRequestMessageHash(requestHash);
BlockHeader header = endHeader;
while (header.getHeight() >= param.getStartHeight()) {
response.putFront(header.getHash());
header = blockService.getBlockHeader(header.getPreHash()).getData();
if (header == null) {
break;
}
}
sendResponse(response, fromNode);
}
Aggregations