Once we've unproxied an object, we need to remap it into our Client's

distributed object space so that the unsubscribe from the remote server is
properly handled.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4787 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Michael Bayne
2007-07-27 02:38:14 +00:00
parent 7a8bb7389a
commit c2b44deb2d
@@ -365,12 +365,17 @@ public class PeerManager
// clear out the local object manager's proxy mapping
PresentsServer.omgr.clearProxyObject(remoteOid, bits.right);
// now unsubscribe from the object on our peer
final Client peer = getPeerClient(nodeName);
if (peer == null) {
log.warning("Unable to unsubscribe from proxy, missing peer [key=" + key + "].");
return;
}
// restore the object's omgr reference to our ClientDObjectMgr so that it can properly
// finish the unsubscription process
bits.right.setManager(peer.getDObjectManager());
// finally unsubscribe from the object on our peer
peer.getDObjectManager().unsubscribeFromObject(remoteOid, bits.left);
}