Pass a message along with a FailureResponse.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4819 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -169,8 +169,7 @@ public class ClientDObjectMgr
|
||||
}
|
||||
|
||||
} else if (obj instanceof FailureResponse) {
|
||||
int oid = ((FailureResponse)obj).getOid();
|
||||
notifyFailure(oid);
|
||||
notifyFailure(((FailureResponse)obj).getOid(), ((FailureResponse)obj).getMessage());
|
||||
|
||||
} else if (obj instanceof PongResponse) {
|
||||
_client.gotPong((PongResponse)obj);
|
||||
@@ -303,7 +302,7 @@ public class ClientDObjectMgr
|
||||
* Notifies the subscribers that had requested this object (for subscription) that it is not
|
||||
* available.
|
||||
*/
|
||||
protected void notifyFailure (int oid)
|
||||
protected void notifyFailure (int oid, String message)
|
||||
{
|
||||
// let the penders know that the object is not available
|
||||
PendingRequest<?> req = _penders.remove(oid);
|
||||
@@ -313,8 +312,7 @@ public class ClientDObjectMgr
|
||||
}
|
||||
|
||||
for (int i = 0; i < req.targets.size(); i++) {
|
||||
// and let them know that the object is in
|
||||
req.targets.get(i).requestFailed(oid, null);
|
||||
req.targets.get(i).requestFailed(oid, new ObjectAccessException(message));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -30,8 +30,7 @@ package com.threerings.presents.dobj;
|
||||
public class ObjectAccessException extends Exception
|
||||
{
|
||||
/**
|
||||
* Constructs a object access exception with the specified error
|
||||
* message.
|
||||
* Constructs a object access exception with the specified error message.
|
||||
*/
|
||||
public ObjectAccessException (String message)
|
||||
{
|
||||
|
||||
@@ -32,12 +32,12 @@ public class FailureResponse extends DownstreamMessage
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a failure response in response to a request for the
|
||||
* specified oid.
|
||||
* Constructs a failure response in response to a request for the specified oid.
|
||||
*/
|
||||
public FailureResponse (int oid)
|
||||
public FailureResponse (int oid, String message)
|
||||
{
|
||||
_oid = oid;
|
||||
_message = message;
|
||||
}
|
||||
|
||||
public int getOid ()
|
||||
@@ -45,10 +45,16 @@ public class FailureResponse extends DownstreamMessage
|
||||
return _oid;
|
||||
}
|
||||
|
||||
public String getMessage ()
|
||||
{
|
||||
return _message;
|
||||
}
|
||||
|
||||
public String toString ()
|
||||
{
|
||||
return "[type=FAIL, msgid=" + messageId + ", oid=" + _oid + "]";
|
||||
return "[type=FAIL, msgid=" + messageId + ", oid=" + _oid + ", msg=" + _message + "]";
|
||||
}
|
||||
|
||||
protected int _oid;
|
||||
protected String _message;
|
||||
}
|
||||
|
||||
@@ -820,7 +820,7 @@ public class PresentsClient
|
||||
// from interface ProxySubscriber
|
||||
public void requestFailed (int oid, ObjectAccessException cause)
|
||||
{
|
||||
postMessage(new FailureResponse(oid));
|
||||
postMessage(new FailureResponse(oid, cause.getMessage()));
|
||||
}
|
||||
|
||||
// from interface ProxySubscriber
|
||||
|
||||
Reference in New Issue
Block a user