diff options
| author | Alan Conway <aconway@apache.org> | 2007-01-05 00:52:33 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2007-01-05 00:52:33 +0000 |
| commit | e614b63e6703b98407129deb3e4e533de868ef30 (patch) | |
| tree | 2447ad354b9d180f843a51ee6cdd0a54819bcd32 /cpp/lib/broker | |
| parent | 04f454c9c580a7ad77698e7e4a7e8ce25e59b14f (diff) | |
| download | qpid-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.cpp | 65 | ||||
| -rw-r--r-- | cpp/lib/broker/SessionHandlerImpl.h | 29 |
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"); } |
