If we fail to deliver the objectAvailable() notification because the
client is disconnected, unsubscribe immediately. We normally unsubscribe when the client loses its connection but it's possible for a subscription request to come in and the client to lose connection before we can communicate the object available response. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2824 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: PresentsClient.java,v 1.59 2003/09/29 18:28:22 mdb Exp $
|
// $Id: PresentsClient.java,v 1.60 2003/10/10 23:23:41 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.presents.server;
|
package com.threerings.presents.server;
|
||||||
|
|
||||||
@@ -658,6 +658,9 @@ public class PresentsClient
|
|||||||
if (postMessage(new ObjectResponse(object))) {
|
if (postMessage(new ObjectResponse(object))) {
|
||||||
// make a note of this new subscription
|
// make a note of this new subscription
|
||||||
mapSubscrip(object);
|
mapSubscrip(object);
|
||||||
|
} else {
|
||||||
|
// if we failed to send the object response, unsubscribe
|
||||||
|
object.removeSubscriber(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user