mirror of
https://github.com/Qortal/altcoinj.git
synced 2025-02-07 14:54:15 +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);
|
||||
} else if (m instanceof VersionMessage) {
|
||||
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) {
|
||||
if (vPeerVersionMessage == null) {
|
||||
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");
|
||||
}
|
||||
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) {
|
||||
if (((Ping) m).hasNonce())
|
||||
sendMessage(new Pong(((Ping) m).getNonce()));
|
||||
|
@ -71,6 +71,7 @@ public class TestWithPeerGroup extends TestWithNetworkConnections {
|
||||
FakeChannel p = (FakeChannel) peerGroup.connectTo(remoteAddress).getChannel();
|
||||
assertTrue(p.nextEvent() instanceof ChannelStateEvent);
|
||||
inbound(p, versionMessage);
|
||||
inbound(p, new VersionAck());
|
||||
if (versionMessage.isBloomFilteringSupported()) {
|
||||
assertTrue(outbound(p) instanceof BloomFilter);
|
||||
assertTrue(outbound(p) instanceof MemoryPoolMessage);
|
||||
|
Loading…
x
Reference in New Issue
Block a user