3
0
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:
Mike Hearn 2013-03-11 12:25:10 +01:00
parent b2ab3e1c43
commit bffc85fa24

View File

@ -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.