diff --git a/src/java/com/threerings/presents/data/InvocationMarshaller.java b/src/java/com/threerings/presents/data/InvocationMarshaller.java index 87da068c4..243e40c1d 100644 --- a/src/java/com/threerings/presents/data/InvocationMarshaller.java +++ b/src/java/com/threerings/presents/data/InvocationMarshaller.java @@ -237,6 +237,17 @@ public class InvocationMarshaller return _invCode; } + /** + * A convenience method to indicate that the listener is not going + * to be responded-to, and that this is ok. + */ + public static void setNoResponse (InvocationListener listener) + { + if (listener instanceof ListenerMarshaller) { + ((ListenerMarshaller) listener).setNoResponse(); + } + } + /** * Called by generated invocation marshaller code; packages up and * sends the specified invocation service request. diff --git a/src/java/com/threerings/whirled/server/SceneProvider.java b/src/java/com/threerings/whirled/server/SceneProvider.java index 4a6bfec38..24d464177 100644 --- a/src/java/com/threerings/whirled/server/SceneProvider.java +++ b/src/java/com/threerings/whirled/server/SceneProvider.java @@ -74,8 +74,7 @@ public class SceneProvider Log.info("Abandoning scene move, client gone " + "[who=" + source.who() + ", dest=" + scmgr.where() + "]."); - ((InvocationMarshaller.ListenerMarshaller) listener). - setNoResponse(); + InvocationMarshaller.setNoResponse(listener); return; } finishMoveToRequest(source, scmgr, sceneVer, listener); diff --git a/src/java/com/threerings/whirled/spot/server/SpotProvider.java b/src/java/com/threerings/whirled/spot/server/SpotProvider.java index 05a397744..495f878f8 100644 --- a/src/java/com/threerings/whirled/spot/server/SpotProvider.java +++ b/src/java/com/threerings/whirled/spot/server/SpotProvider.java @@ -80,7 +80,7 @@ public class SpotProvider Log.info("Ignoring stale traverse portal request " + "[caller=" + caller.who() + ", oSceneId=" + sceneId + ", portalId=" + portalId + ", cSceneId=" + cSceneId + "]."); - ((InvocationMarshaller.ListenerMarshaller) listener).setNoResponse(); + InvocationMarshaller.setNoResponse(listener); return; } @@ -131,8 +131,7 @@ public class SpotProvider Log.info("Abandoning portal traversal, client gone " + "[who=" + fsource.who() + ", dest=" + scmgr.where() + "]."); - ((InvocationMarshaller.ListenerMarshaller) flistener). - setNoResponse(); + InvocationMarshaller.setNoResponse(flistener); return; }