From dc4e4315da4310a21bd6791f0392264724d4d32f Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Wed, 17 Sep 2008 23:08:02 +0000 Subject: [PATCH] If we request to invoke an action directly on a node, do the right thing if that node is us. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5380 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../com/threerings/presents/peer/server/PeerManager.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/java/com/threerings/presents/peer/server/PeerManager.java b/src/java/com/threerings/presents/peer/server/PeerManager.java index 184dda596..ee39991de 100644 --- a/src/java/com/threerings/presents/peer/server/PeerManager.java +++ b/src/java/com/threerings/presents/peer/server/PeerManager.java @@ -359,6 +359,8 @@ public abstract class PeerManager PeerNode peer = _peers.get(nodeName); if (peer != null) { peer.nodeobj.peerService.invokeAction(peer.getClient(), flattenAction(action)); + } else if (nodeName.equals(_nodeName)) { + invokeAction(null, flattenAction(action)); } } @@ -695,6 +697,10 @@ public abstract class PeerManager // from interface ShutdownManager.Shutdowner public void shutdown () { + if (_nodeName == null) { // sanity check + throw new IllegalStateException("Shutting down PeerManager that was never initialized."); + } + // clear out our invocation service if (_nodeobj != null) { _invmgr.clearDispatcher(_nodeobj.peerService);