mirror of
https://github.com/Qortal/altcoinj.git
synced 2025-02-13 10:45:51 +00:00
Move onPeerConnected to after VerAck.
This commit is contained in:
parent
f1750679b6
commit
70bffcd6f4
@ -283,14 +283,6 @@ public class Peer {
|
|||||||
processAlert((AlertMessage) m);
|
processAlert((AlertMessage) m);
|
||||||
} else if (m instanceof VersionMessage) {
|
} else if (m instanceof VersionMessage) {
|
||||||
vPeerVersionMessage = (VersionMessage) m;
|
vPeerVersionMessage = (VersionMessage) m;
|
||||||
for (PeerLifecycleListener listener : lifecycleListeners)
|
|
||||||
listener.onPeerConnected(this);
|
|
||||||
final int version = vMinProtocolVersion;
|
|
||||||
if (vPeerVersionMessage.clientVersion < version) {
|
|
||||||
log.warn("Connected to a peer speaking protocol version {} but need {}, closing",
|
|
||||||
vPeerVersionMessage.clientVersion, version);
|
|
||||||
e.getChannel().close();
|
|
||||||
}
|
|
||||||
} else if (m instanceof VersionAck) {
|
} else if (m instanceof VersionAck) {
|
||||||
if (vPeerVersionMessage == null) {
|
if (vPeerVersionMessage == null) {
|
||||||
throw new ProtocolException("got a version ack before version");
|
throw new ProtocolException("got a version ack before version");
|
||||||
@ -299,6 +291,16 @@ public class Peer {
|
|||||||
throw new ProtocolException("got more than one version ack");
|
throw new ProtocolException("got more than one version ack");
|
||||||
}
|
}
|
||||||
isAcked = true;
|
isAcked = true;
|
||||||
|
for (PeerLifecycleListener listener : lifecycleListeners)
|
||||||
|
listener.onPeerConnected(this);
|
||||||
|
// We check min version after onPeerConnected as channel.close() will
|
||||||
|
// call onPeerDisconnected, and we should probably call onPeerConnected first.
|
||||||
|
final int version = vMinProtocolVersion;
|
||||||
|
if (vPeerVersionMessage.clientVersion < version) {
|
||||||
|
log.warn("Connected to a peer speaking protocol version {} but need {}, closing",
|
||||||
|
vPeerVersionMessage.clientVersion, version);
|
||||||
|
e.getChannel().close();
|
||||||
|
}
|
||||||
} else if (m instanceof Ping) {
|
} else if (m instanceof Ping) {
|
||||||
if (((Ping) m).hasNonce())
|
if (((Ping) m).hasNonce())
|
||||||
sendMessage(new Pong(((Ping) m).getNonce()));
|
sendMessage(new Pong(((Ping) m).getNonce()));
|
||||||
|
@ -71,6 +71,7 @@ public class TestWithPeerGroup extends TestWithNetworkConnections {
|
|||||||
FakeChannel p = (FakeChannel) peerGroup.connectTo(remoteAddress).getChannel();
|
FakeChannel p = (FakeChannel) peerGroup.connectTo(remoteAddress).getChannel();
|
||||||
assertTrue(p.nextEvent() instanceof ChannelStateEvent);
|
assertTrue(p.nextEvent() instanceof ChannelStateEvent);
|
||||||
inbound(p, versionMessage);
|
inbound(p, versionMessage);
|
||||||
|
inbound(p, new VersionAck());
|
||||||
if (versionMessage.isBloomFilteringSupported()) {
|
if (versionMessage.isBloomFilteringSupported()) {
|
||||||
assertTrue(outbound(p) instanceof BloomFilter);
|
assertTrue(outbound(p) instanceof BloomFilter);
|
||||||
assertTrue(outbound(p) instanceof MemoryPoolMessage);
|
assertTrue(outbound(p) instanceof MemoryPoolMessage);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user