Search in sources :

Example 1 with VersionMessage

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;
}
Also used : NetworkMessageBody(io.nuls.network.protocol.message.NetworkMessageBody) VersionMessage(io.nuls.network.protocol.message.VersionMessage)

Example 2 with VersionMessage

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));
}
Also used : NetworkMessageBody(io.nuls.network.protocol.message.NetworkMessageBody) VersionMessage(io.nuls.network.protocol.message.VersionMessage) GetVersionMessage(io.nuls.network.protocol.message.GetVersionMessage) GetVersionMessage(io.nuls.network.protocol.message.GetVersionMessage) NetworkEventResult(io.nuls.network.model.NetworkEventResult)

Aggregations

NetworkMessageBody (io.nuls.network.protocol.message.NetworkMessageBody)2 VersionMessage (io.nuls.network.protocol.message.VersionMessage)2 NetworkEventResult (io.nuls.network.model.NetworkEventResult)1 GetVersionMessage (io.nuls.network.protocol.message.GetVersionMessage)1