summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/SubscriptionManager.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-05-26 18:10:05 +0000
committerAlan Conway <aconway@apache.org>2008-05-26 18:10:05 +0000
commitce7678789fe3e8c5caebb59a26aa418fbb95e5d3 (patch)
treeaffd8e2de460cba285e7c25e15f5c3d94444f905 /cpp/src/qpid/client/SubscriptionManager.cpp
parent0b56077cbb8b6e9cdd982cbdeaa3ec6fe1bd5434 (diff)
downloadqpid-python-ce7678789fe3e8c5caebb59a26aa418fbb95e5d3.tar.gz
Changes to Session API:
- Session is synchronous, no futures. - AsyncSession is async, returns futures. - Conversion functions sync(s) async(s) return a sync/async view of session s. - Connection::newSession - takes name, no timeout - SessionBase::getId - returns SessionId not UUID. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@660258 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/client/SubscriptionManager.cpp')
-rw-r--r--cpp/src/qpid/client/SubscriptionManager.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/cpp/src/qpid/client/SubscriptionManager.cpp b/cpp/src/qpid/client/SubscriptionManager.cpp
index 2ba3f5fe62..6036f153f6 100644
--- a/cpp/src/qpid/client/SubscriptionManager.cpp
+++ b/cpp/src/qpid/client/SubscriptionManager.cpp
@@ -32,23 +32,23 @@
namespace qpid {
namespace client {
-SubscriptionManager::SubscriptionManager(Session& s)
+SubscriptionManager::SubscriptionManager(const Session& s)
: dispatcher(s), session(s),
messages(UNLIMITED), bytes(UNLIMITED), window(true),
acceptMode(0), acquireMode(0),
autoStop(true)
{}
-Completion SubscriptionManager::subscribeInternal(
+void SubscriptionManager::subscribeInternal(
const std::string& q, const std::string& dest)
{
- Completion c = session.messageSubscribe(arg::queue=q, arg::destination=dest,
- arg::acceptMode=acceptMode, arg::acquireMode=acquireMode);
- setFlowControl(dest, messages, bytes, window);
- return c;
+ async(session).messageSubscribe( // setFlowControl will sync.
+ arg::queue=q, arg::destination=dest,
+ arg::acceptMode=acceptMode, arg::acquireMode=acquireMode);
+ setFlowControl(dest, messages, bytes, window);
}
-Completion SubscriptionManager::subscribe(
+void SubscriptionManager::subscribe(
MessageListener& listener, const std::string& q, const std::string& d)
{
std::string dest=d.empty() ? q:d;
@@ -56,7 +56,7 @@ Completion SubscriptionManager::subscribe(
return subscribeInternal(q, dest);
}
-Completion SubscriptionManager::subscribe(
+void SubscriptionManager::subscribe(
LocalQueue& lq, const std::string& q, const std::string& d)
{
std::string dest=d.empty() ? q:d;
@@ -68,9 +68,9 @@ Completion SubscriptionManager::subscribe(
void SubscriptionManager::setFlowControl(
const std::string& dest, uint32_t messages, uint32_t bytes, bool window)
{
- session.messageSetFlowMode(dest, window);
- session.messageFlow(dest, 0, messages);
- session.messageFlow(dest, 1, bytes);
+ async(session).messageSetFlowMode(dest, window);
+ async(session).messageFlow(dest, 0, messages);
+ session.messageFlow(dest, 1, bytes); // Only need one sync
}
void SubscriptionManager::setFlowControl(