mirror of
https://github.com/Qortal/altcoinj.git
synced 2025-02-13 10:45:51 +00:00
Move message processing out of the handler class and into the top-level Peer class.
This commit is contained in:
parent
b2ab3e1c43
commit
bffc85fa24
@ -232,11 +232,20 @@ public class Peer {
|
|||||||
@Override
|
@Override
|
||||||
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception {
|
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception {
|
||||||
Message m = (Message)e.getMessage();
|
Message m = (Message)e.getMessage();
|
||||||
|
processMessage(e, m);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Peer getPeer() {
|
||||||
|
return Peer.this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void processMessage(MessageEvent e, Message m) throws IOException, VerificationException, ProtocolException {
|
||||||
|
checkNotLocked(lock);
|
||||||
// Allow event listeners to filter the message stream. Listeners are allowed to drop messages by
|
// Allow event listeners to filter the message stream. Listeners are allowed to drop messages by
|
||||||
// returning null.
|
// returning null.
|
||||||
for (PeerEventListener listener : eventListeners) {
|
for (PeerEventListener listener : eventListeners) {
|
||||||
m = listener.onPreMessageReceived(Peer.this, m);
|
m = listener.onPreMessageReceived(this, m);
|
||||||
if (m == null) break;
|
if (m == null) break;
|
||||||
}
|
}
|
||||||
if (m == null) return;
|
if (m == null) return;
|
||||||
@ -285,7 +294,7 @@ public class Peer {
|
|||||||
} else if (m instanceof VersionMessage) {
|
} else if (m instanceof VersionMessage) {
|
||||||
peerVersionMessage.set((VersionMessage) m);
|
peerVersionMessage.set((VersionMessage) m);
|
||||||
for (PeerLifecycleListener listener : lifecycleListeners)
|
for (PeerLifecycleListener listener : lifecycleListeners)
|
||||||
listener.onPeerConnected(Peer.this);
|
listener.onPeerConnected(this);
|
||||||
if (getPeerVersionMessage().clientVersion < minProtocolVersion) {
|
if (getPeerVersionMessage().clientVersion < minProtocolVersion) {
|
||||||
log.warn("Connected to a peer speaking protocol version {} but need {}, closing",
|
log.warn("Connected to a peer speaking protocol version {} but need {}, closing",
|
||||||
getPeerVersionMessage().clientVersion, minProtocolVersion);
|
getPeerVersionMessage().clientVersion, minProtocolVersion);
|
||||||
@ -309,11 +318,6 @@ public class Peer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Peer getPeer() {
|
|
||||||
return Peer.this;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void processNotFoundMessage(NotFoundMessage m) {
|
private void processNotFoundMessage(NotFoundMessage m) {
|
||||||
// This does not need to be locked.
|
// This does not need to be locked.
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user