summaryrefslogtreecommitdiff
path: root/java/common/src/main
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
commitf5a08df3286b8f218f335822c476e28c3632b624 (patch)
tree7083729435ac00ee046957dc0a12a5764a56ecf3 /java/common/src/main
parent30d6fb56602c6c8aaced4d96f733b8e9960ecff8 (diff)
downloadqpid-python-f5a08df3286b8f218f335822c476e28c3632b624.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/qpid@979283 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common/src/main')
-rw-r--r--java/common/src/main/java/org/apache/qpid/transport/Session.java4
-rw-r--r--java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java10
2 files changed, 8 insertions, 6 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/transport/Session.java b/java/common/src/main/java/org/apache/qpid/transport/Session.java
index f361012c79..7121a76e38 100644
--- a/java/common/src/main/java/org/apache/qpid/transport/Session.java
+++ b/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/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java b/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java
index 05f3947654..41be22f4e5 100644
--- a/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java
+++ b/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)