Author: zothar
Date: 2006-11-20 03:33:39 +0000 (Mon, 20 Nov 2006)
New Revision: 11017
Modified:
trunk/freenet/src/freenet/io/comm/MessageFilter.java
Log:
Check for a source match before iterating over the fields in
MessageFilter.match() for a slight performance gain. This looks right to me,
but perhaps source was after the field iteration for a reason I've missed.
Modified: trunk/freenet/src/freenet/io/comm/MessageFilter.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/MessageFilter.java 2006-11-20
03:30:12 UTC (rev 11016)
+++ trunk/freenet/src/freenet/io/comm/MessageFilter.java 2006-11-20
03:33:39 UTC (rev 11017)
@@ -126,11 +126,12 @@
_matched = true;
return true;
}
- if (_type != null) {
- if (!m.getSpec().equals(_type)) {
- return false;
- }
+ if ((_type != null) && (!_type.equals(m.getSpec()))) {
+ return false;
}
+ if ((_source != null) && (!_source.equals(m.getSource()))) {
+ return false;
+ }
synchronized (_fields) {
for (Iterator iter = _fields.keySet().iterator();
iter.hasNext();) {
String fieldName = (String) iter.next();
@@ -142,9 +143,6 @@
}
}
}
- if ((_source != null) && (!_source.equals(m.getSource()))) {
- return false;
- }
_matched=true;
return true;
}