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;
|
||||
|
||||
@@ -658,6 +658,9 @@ public class PresentsClient
|
||||
if (postMessage(new ObjectResponse(object))) {
|
||||
// make a note of this new subscription
|
||||
mapSubscrip(object);
|
||||
} else {
|
||||
// if we failed to send the object response, unsubscribe
|
||||
object.removeSubscriber(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user