forked from Qortal/qortal
Fix Controller's processing of HEIGHT_V2 to update all peers with same ID
This commit is contained in:
parent
bdfbea3a53
commit
ad827ae01d
@ -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();
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user