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 | 9db56ba8a8b4f0f2faaa7f6f6083167a67ea955b (patch) | |
| tree | 226efa9708b42492fa6b107f4e594ba23f08a273 /qpid | |
| parent | 035504f96662cadb565ac26457b6ad9934e3770b (diff) | |
| download | qpid-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.java | 4 | ||||
| -rw-r--r-- | qpid/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java | 10 |
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) |
