Fix Controller's processing of HEIGHT_V2 to update all peers with same ID

This commit is contained in:
catbref 2019-07-01 11:07:55 +01:00
parent bdfbea3a53
commit ad827ae01d
3 changed files with 8 additions and 6 deletions

View File

@ -77,6 +77,7 @@ public class Controller extends Thread {
System.setProperty("java.util.logging.manager", "org.apache.logging.log4j.jul.LogManager"); System.setProperty("java.util.logging.manager", "org.apache.logging.log4j.jul.LogManager");
} }
/** Controller start-up time (ms) taken using <tt>System.currentTimeMillis()</tt>, NOT <tt>NTP.getTime()</tt>. */
public static final long startTime = System.currentTimeMillis(); public static final long startTime = System.currentTimeMillis();
public static final String VERSION_PREFIX = "qora-core-"; public static final String VERSION_PREFIX = "qora-core-";
@ -545,10 +546,10 @@ public class Controller extends Thread {
ReentrantLock peerLock = connectedPeer.getPeerLock(); ReentrantLock peerLock = connectedPeer.getPeerLock();
peerLock.lock(); peerLock.lock();
try { try {
peer.setLastHeight(heightV2Message.getHeight()); connectedPeer.setLastHeight(heightV2Message.getHeight());
peer.setLastBlockSignature(heightV2Message.getSignature()); connectedPeer.setLastBlockSignature(heightV2Message.getSignature());
peer.setLastBlockTimestamp(heightV2Message.getTimestamp()); connectedPeer.setLastBlockTimestamp(heightV2Message.getTimestamp());
peer.setLastBlockGenerator(heightV2Message.getGenerator()); connectedPeer.setLastBlockGenerator(heightV2Message.getGenerator());
} finally { } finally {
peerLock.unlock(); peerLock.unlock();
} }

View File

@ -94,6 +94,7 @@ public class Network extends Thread {
private ExecutorService peerExecutor; private ExecutorService peerExecutor;
private ExecutorService mergePeersExecutor; private ExecutorService mergePeersExecutor;
private ExecutorService broadcastExecutor; private ExecutorService broadcastExecutor;
/** Timestamp (ms) for next general info broadcast to all connected peers. Based on <tt>System.currentTimeMillis()</tt> NOT <tt>NTP.getTime()</tt>. */
private long nextBroadcast; private long nextBroadcast;
private Lock mergePeersLock; private Lock mergePeersLock;

View File

@ -461,9 +461,9 @@ public class Peer extends Thread {
PingMessage pingMessage = new PingMessage(); PingMessage pingMessage = new PingMessage();
try { try {
long before = System.currentTimeMillis(); final long before = System.currentTimeMillis();
Message message = peer.getResponse(pingMessage); Message message = peer.getResponse(pingMessage);
long after = System.currentTimeMillis(); final long after = System.currentTimeMillis();
if (message == null || message.getType() != MessageType.PING) if (message == null || message.getType() != MessageType.PING)
peer.disconnect("no ping received"); peer.disconnect("no ping received");