summaryrefslogtreecommitdiff
path: root/qpid
diff options
context:
space:
mode:
authorAndrew Donald Kennedy <grkvlt@apache.org>2010-07-26 13:56:52 +0000
committerAndrew Donald Kennedy <grkvlt@apache.org>2010-07-26 13:56:52 +0000
commit9db56ba8a8b4f0f2faaa7f6f6083167a67ea955b (patch)
tree226efa9708b42492fa6b107f4e594ba23f08a273 /qpid
parent035504f96662cadb565ac26457b6ad9934e3770b (diff)
downloadqpid-python-9db56ba8a8b4f0f2faaa7f6f6083167a67ea955b.tar.gz
QPID-2586: Give Client 0-10 close semantics not detach
Added a sessionRequestTimeout handler that sets expiry and responds with a sessionTimeout, and makes sessionTimeout set expiry appropriately also. On attach uses the expiry provided, rather than forcing a value of 0. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@979283 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid')
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java4
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java10
2 files changed, 8 insertions, 6 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java
index f361012c79..7121a76e38 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java
@@ -237,9 +237,7 @@ public class Session extends SessionInvoker
{
initReceiver();
sessionAttach(name.getBytes());
- // XXX: when the broker and client support full session
- // recovery we should use expiry as the requested timeout
- sessionRequestTimeout(0);
+ sessionRequestTimeout(expiry);
}
void resume()
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java
index 05f3947654..41be22f4e5 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java
@@ -57,6 +57,12 @@ public class SessionDelegate
log.warn("UNHANDLED: [%s] %s", ssn, method);
}
+ @Override public void sessionRequestTimeout(Session ssn, SessionRequestTimeout t)
+ {
+ ssn.setExpiry(t.getTimeout());
+ ssn.sessionTimeout(t.getTimeout());
+ }
+
@Override public void sessionAttached(Session ssn, SessionAttached atc)
{
ssn.setState(Session.State.OPEN);
@@ -64,9 +70,7 @@ public class SessionDelegate
@Override public void sessionTimeout(Session ssn, SessionTimeout t)
{
- // XXX: we ignore this right now, we should uncomment this
- // when full session resume is supported:
- // ssn.setExpiry(t.getTimeout());
+ ssn.setExpiry(t.getTimeout());
}
@Override public void sessionCompleted(Session ssn, SessionCompleted cmp)