diff options
| author | Paul Buetow <paul@buetow.org> | 2008-05-29 13:55:34 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2008-05-29 13:55:34 +0000 |
| commit | b8f2687296ad47626412e2a54f4916f7fabc4d6d (patch) | |
| tree | 247757bbb960ddceb5adefe89df2fd8115107bfc /sources/events/internal | |
| parent | cd2024527c84e3e0fd22072a16ac1ff18e6d406d (diff) | |
Only relevant message delivering works.
Diffstat (limited to 'sources/events/internal')
| -rw-r--r-- | sources/events/internal/VSMessageReceiveEvent.java | 32 | ||||
| -rw-r--r-- | sources/events/internal/VSProtocolEvent.java | 19 | ||||
| -rw-r--r-- | sources/events/internal/VSProtocolScheduleEvent.java | 4 |
3 files changed, 37 insertions, 18 deletions
diff --git a/sources/events/internal/VSMessageReceiveEvent.java b/sources/events/internal/VSMessageReceiveEvent.java index ff97010..0012775 100644 --- a/sources/events/internal/VSMessageReceiveEvent.java +++ b/sources/events/internal/VSMessageReceiveEvent.java @@ -36,31 +36,39 @@ public class VSMessageReceiveEvent extends VSAbstractEvent { /* (non-Javadoc) * @see events.VSAbstractEvent#onStart() */ - public void onStart() { + public boolean onStart() { + boolean returnValue = true; + boolean onlyRelevantMessages = process.getPrefs(). + getBoolean("sim.messages.relevant"); + String eventName = message.getName(); String protocolClassname = message.getProtocolClassname(); - process.updateLamportTime(message.getLamportTime()+1); - process.updateVectorTime(message.getVectorTime()); - Object protocolObj = null; if (process.objectExists(protocolClassname)) protocolObj = process.getObject(protocolClassname); + if (onlyRelevantMessages) { + if (protocolObj == null) + return false; + + if (!((VSAbstractProtocol) protocolObj).isRelevantMessage(message)) + return false; + } + + process.updateLamportTime(message.getLamportTime()+1); + process.updateVectorTime(message.getVectorTime()); + StringBuffer buffer = new StringBuffer(); buffer.append(prefs.getString("lang.message.recv")); buffer.append("; "); buffer.append(message);; + logg(buffer.toString()); - if (protocolObj == null) { - logg(buffer.toString()); - - } else { - final VSAbstractProtocol protocol = (VSAbstractProtocol) protocolObj; - logg(buffer.toString()); - protocol.onMessageRecvStart(message); - } + if (protocolObj != null) + ((VSAbstractProtocol) protocolObj).onMessageRecvStart(message); + return true; } } diff --git a/sources/events/internal/VSProtocolEvent.java b/sources/events/internal/VSProtocolEvent.java index d5051f3..8b65c79 100644 --- a/sources/events/internal/VSProtocolEvent.java +++ b/sources/events/internal/VSProtocolEvent.java @@ -77,8 +77,9 @@ public class VSProtocolEvent extends VSAbstractEvent { /* (non-Javadoc) * @see events.VSAbstractEvent#onStart() */ - public void onStart() { - VSAbstractProtocol protocol = process.getProtocolObject(protocolClassname); + public boolean onStart() { + VSAbstractProtocol protocol = process.getProtocolObject( + protocolClassname); if (isClientProtocol) protocol.isClient(isProtocolActivation); @@ -87,13 +88,21 @@ public class VSProtocolEvent extends VSAbstractEvent { protocol.isServer(isProtocolActivation); StringBuffer buffer = new StringBuffer(); - buffer.append(VSRegisteredEvents.getShortnameByClassname(protocolClassname)); + buffer.append(VSRegisteredEvents.getShortnameByClassname( + protocolClassname)); + buffer.append(" "); buffer.append(isClientProtocol - ? prefs.getString("lang.client") : prefs.getString("lang.server")); + ? prefs.getString("lang.client") + : prefs.getString("lang.server")); + buffer.append(" "); buffer.append(isProtocolActivation - ? prefs.getString("lang.activated") : prefs.getString("lang.deactivated")); + ? prefs.getString("lang.activated") + : prefs.getString("lang.deactivated")); + logg(buffer.toString()); + + return true; } } diff --git a/sources/events/internal/VSProtocolScheduleEvent.java b/sources/events/internal/VSProtocolScheduleEvent.java index 9b6e664..9c72124 100644 --- a/sources/events/internal/VSProtocolScheduleEvent.java +++ b/sources/events/internal/VSProtocolScheduleEvent.java @@ -76,10 +76,12 @@ public class VSProtocolScheduleEvent extends VSAbstractEvent { /* (non-Javadoc) * @see events.VSAbstractEvent#onStart() */ - public void onStart() { + public boolean onStart() { if (isServerSchedule) protocol.onServerScheduleStart(); else protocol.onClientScheduleStart(); + + return true; } } |
