diff options
| author | Andrew Donald Kennedy <grkvlt@apache.org> | 2010-07-26 13:56:52 +0000 |
|---|---|---|
| committer | Andrew Donald Kennedy <grkvlt@apache.org> | 2010-07-26 13:56:52 +0000 |
| commit | f5a08df3286b8f218f335822c476e28c3632b624 (patch) | |
| tree | 7083729435ac00ee046957dc0a12a5764a56ecf3 /java/common/src/main | |
| parent | 30d6fb56602c6c8aaced4d96f733b8e9960ecff8 (diff) | |
| download | qpid-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.java | 4 | ||||
| -rw-r--r-- | java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java | 10 |
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) |
