use of io.nuls.network.protocol.message.VersionMessage in project nuls by nuls-io.
the class VersionMessageHandler method process.
@Override
public NetworkEventResult process(BaseMessage message, Node node) {
VersionMessage versionMessage = (VersionMessage) message;
NetworkMessageBody body = versionMessage.getMsgBody();
// Log.info("receive a version message : {}", body);
if (body.getBestBlockHeight() < 0) {
// node.setStatus(Node.BAD);
nodeManager.removeNode(node.getId());
return null;
}
node.setBestBlockHeight(body.getBestBlockHeight());
node.setBestBlockHash(body.getBestBlockHash());
node.setTimeOffset((TimeService.currentTimeMillis() - node.getLastTime()) / 2);
return null;
}
use of io.nuls.network.protocol.message.VersionMessage in project nuls by nuls-io.
the class GetVersionMessageHandler method process.
@Override
public NetworkEventResult process(BaseMessage message, Node node) {
GetVersionMessage getVersionMessage = (GetVersionMessage) message;
NetworkMessageBody body = getVersionMessage.getMsgBody();
if (body.getBestBlockHeight() < 0) {
// node.setStatus(Node.BAD);
nodeManager.removeNode(node.getId());
return null;
}
node.setBestBlockHeight(body.getBestBlockHeight());
node.setBestBlockHash(body.getBestBlockHash());
NetworkMessageBody myVersionBody = new NetworkMessageBody(NetworkConstant.HANDSHAKE_CLIENT_TYPE, networkParam.getPort(), NulsContext.getInstance().getBestHeight(), NulsContext.getInstance().getBestBlock().getHeader().getHash());
return new NetworkEventResult(true, new VersionMessage(myVersionBody));
}
Aggregations