summaryrefslogtreecommitdiff
path: root/cpp/lib/broker
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-01-05 00:52:33 +0000
committerAlan Conway <aconway@apache.org>2007-01-05 00:52:33 +0000
commite614b63e6703b98407129deb3e4e533de868ef30 (patch)
tree2447ad354b9d180f843a51ee6cdd0a54819bcd32 /cpp/lib/broker
parent04f454c9c580a7ad77698e7e4a7e8ce25e59b14f (diff)
downloadqpid-python-e614b63e6703b98407129deb3e4e533de868ef30.tar.gz
0-9 branch now compiles but is not yet functional.
Areas needing attention are marked FIXME. It includes both 0-8 Basic etc. classes 0-9 Message claasses, 0-8 classes cannot be removed till 0-9 Message is ready to replace them. Summary of fixes: - added 0-9 methods to SessionHandlerImpl.h, no implementation yet. - added missing framing::Content methods - unimplemented methods do { assert(0); // FIXME git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@492840 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/lib/broker')
-rw-r--r--cpp/lib/broker/SessionHandlerImpl.cpp65
-rw-r--r--cpp/lib/broker/SessionHandlerImpl.h29
2 files changed, 87 insertions, 7 deletions
diff --git a/cpp/lib/broker/SessionHandlerImpl.cpp b/cpp/lib/broker/SessionHandlerImpl.cpp
index 9131060b81..d0971c4fae 100644
--- a/cpp/lib/broker/SessionHandlerImpl.cpp
+++ b/cpp/lib/broker/SessionHandlerImpl.cpp
@@ -217,9 +217,13 @@ void SessionHandlerImpl::ConnectionHandlerImpl::closeOk(u_int16_t /*channel*/){
void SessionHandlerImpl::ChannelHandlerImpl::open(u_int16_t channel, const string& /*outOfBand*/){
- parent->channels[channel] = new Channel(parent->client->getProtocolVersion() , parent->context, channel, parent->framemax,
- parent->queues->getStore(), parent->settings.stagingThreshold);
- parent->client->getChannel().openOk(channel);
+ parent->channels[channel] = new Channel(
+ parent->client->getProtocolVersion() , parent->context, channel,
+ parent->framemax, parent->queues->getStore(),
+ parent->settings.stagingThreshold);
+
+ // FIXME aconway 2007-01-04: provide valid channel Id as per ampq 0-9
+ parent->client->getChannel().openOk(channel, std::string()/* ID */);
}
void SessionHandlerImpl::ChannelHandlerImpl::flow(u_int16_t /*channel*/, bool /*active*/){}
@@ -262,7 +266,21 @@ void SessionHandlerImpl::ExchangeHandlerImpl::declare(u_int16_t channel, u_int16
if(!nowait){
parent->client->getExchange().declareOk(channel);
}
-}
+}
+
+
+void SessionHandlerImpl::ExchangeHandlerImpl::unbind(
+ u_int16_t /*channel*/,
+ u_int16_t /*ticket*/,
+ const string& /*queue*/,
+ const string& /*exchange*/,
+ const string& /*routingKey*/,
+ const qpid::framing::FieldTable& /*arguments*/ )
+{
+ assert(0); // FIXME aconway 2007-01-04: 0-9 feature
+}
+
+
void SessionHandlerImpl::ExchangeHandlerImpl::delete_(u_int16_t channel, u_int16_t /*ticket*/,
const string& exchange, bool /*ifUnused*/, bool nowait){
@@ -453,3 +471,42 @@ void SessionHandlerImpl::TxHandlerImpl::rollback(u_int16_t channel){
parent->getChannel(channel)->recover(false);
}
+void
+SessionHandlerImpl::QueueHandlerImpl::unbind(
+ u_int16_t /*channel*/,
+ u_int16_t /*ticket*/,
+ const string& /*queue*/,
+ const string& /*exchange*/,
+ const string& /*routingKey*/,
+ const qpid::framing::FieldTable& /*arguments*/ )
+{
+ assert(0); // FIXME aconway 2007-01-04: 0-9 feature
+}
+
+void
+SessionHandlerImpl::ChannelHandlerImpl::ok( u_int16_t /*channel*/ )
+{
+ assert(0); // FIXME aconway 2007-01-04: 0-9 feature
+}
+
+void
+SessionHandlerImpl::ChannelHandlerImpl::ping( u_int16_t /*channel*/ )
+{
+ assert(0); // FIXME aconway 2007-01-04: 0-9 feature
+}
+
+void
+SessionHandlerImpl::ChannelHandlerImpl::pong( u_int16_t /*channel*/ )
+{
+ assert(0); // FIXME aconway 2007-01-04: 0-9 feature
+}
+
+void
+SessionHandlerImpl::ChannelHandlerImpl::resume(
+ u_int16_t /*channel*/,
+ const string& /*channelId*/ )
+{
+ assert(0); // FIXME aconway 2007-01-04: 0-9 feature
+}
+
+
diff --git a/cpp/lib/broker/SessionHandlerImpl.h b/cpp/lib/broker/SessionHandlerImpl.h
index cdfccead27..c4ce9e7fd0 100644
--- a/cpp/lib/broker/SessionHandlerImpl.h
+++ b/cpp/lib/broker/SessionHandlerImpl.h
@@ -157,7 +157,15 @@ class SessionHandlerImpl : public virtual qpid::sys::SessionHandler,
virtual void flowOk(u_int16_t channel, bool active);
- // Change to match new code generator function signature (adding const to string&) - kpvdr 2006-11-20
+ virtual void ok( u_int16_t channel );
+
+ virtual void ping( u_int16_t channel );
+
+ virtual void pong( u_int16_t channel );
+
+ virtual void resume( u_int16_t channel,
+ const string& channelId );
+
virtual void close(u_int16_t channel, u_int16_t replyCode, const string& replyText,
u_int16_t classId, u_int16_t methodId);
@@ -175,9 +183,15 @@ class SessionHandlerImpl : public virtual qpid::sys::SessionHandler,
bool passive, bool durable, bool autoDelete, bool internal, bool nowait,
const qpid::framing::FieldTable& arguments);
- // Change to match new code generator function signature (adding const to string&) - kpvdr 2006-11-20
virtual void delete_(u_int16_t channel, u_int16_t ticket, const string& exchange, bool ifUnused, bool nowait);
+ virtual void unbind(u_int16_t channel,
+ u_int16_t ticket,
+ const string& queue,
+ const string& exchange,
+ const string& routingKey,
+ const qpid::framing::FieldTable& arguments );
+
virtual ~ExchangeHandlerImpl(){}
};
@@ -195,6 +209,13 @@ class SessionHandlerImpl : public virtual qpid::sys::SessionHandler,
const string& exchange, const string& routingKey, bool nowait,
const qpid::framing::FieldTable& arguments);
+ virtual void unbind(u_int16_t channel,
+ u_int16_t ticket,
+ const string& queue,
+ const string& exchange,
+ const string& routingKey,
+ const qpid::framing::FieldTable& arguments );
+
virtual void purge(u_int16_t channel, u_int16_t ticket, const string& queue,
bool nowait);
@@ -258,7 +279,9 @@ class SessionHandlerImpl : public virtual qpid::sys::SessionHandler,
inline virtual DtxHandler* getDtxHandler(){ throw ConnectionException(540, "Dtx class not implemented"); }
inline virtual TunnelHandler* getTunnelHandler(){ throw ConnectionException(540, "Tunnel class not implemented"); }
- // FIXME aconway 2007-01-04: what's this about?
+ virtual AMQP_ServerOperations::MessageHandler* getMessageHandler(){ throw ConnectionException(540, "Message class not implemented"); }
+
+ // FIXME aconway 2007-01-04: Remove?
// Temporary add-in to resolve version conflicts: AMQP v8.0 still defines class Test;
// however v0.9 will not - kpvdr 2006-11-17
// inline virtual TestHandler* getTestHandler(){ throw ConnectionException(540, "Test class not implemented"); }