summaryrefslogtreecommitdiff
path: root/cpp/lib/broker
Commit message (Collapse)AuthorAgeFilesLines
* Catch exception now thrown by ExchangeRegistry::getDefault() when a default ↵Gordon Sim2007-03-201-3/+7
| | | | | | has not been set. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@520493 13f79535-47bb-0310-9956-ffa450edef68
* Changed u_int<n>_t to uint<n>_t for posix compliance.Alan Conway2007-03-1540-241/+241
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@518733 13f79535-47bb-0310-9956-ffa450edef68
* Merged revisions 496317 via svnmerge from Alan Conway2007-03-132-1/+4
| | | | | | | | | | | | | | | | | | | | | | | https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid ........ r496317 | aconway | 2007-01-15 08:58:07 -0500 (Mon, 15 Jan 2007) | 12 lines 2006-12-08 Jim Meyering <meyering@redhat.com> Ensure that AccumulatedAck.range is not used uninitialized. * lib/broker/AccumulatedAck.h (AccumulatedAck): Make this a class, rather than a struct. (AccumulatedAck::AccumulatedAck): Add a constructor to require initialization of the "range" member. * lib/broker/BrokerChannel.cpp (Channel) [accumulatedAck]: Initialize. * tests/TxAckTest.cpp (TxAckTest) [acked]: Likewise. * tests/AccumulatedAckTest.cpp (testCovers): Initialize local. (testUpdateAndConsolidate): Likewise. ........ git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@517849 13f79535-47bb-0310-9956-ffa450edef68
* Merged revisions 493126-493151 via svnmerge from Alan Conway2007-03-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid ........ r493126 | aconway | 2007-01-05 13:34:08 -0500 (Fri, 05 Jan 2007) | 2 lines Add refernece to prereqs in README-dist. ........ r493140 | aconway | 2007-01-05 14:09:10 -0500 (Fri, 05 Jan 2007) | 8 lines 2007-01-05 Jim Meyering <meyering@redhat.com> * gen/Makefile.am (gen-src.mk) [CAN_GENERATE_CODE]: Emit an empty dependency for each generated file, in case they are renamed, removed, or no longer generated. Otherwise, "./bootstrap --build" would fail with e.g., `*** No rule to make target ../../gentools/templ.cpp/AMQP_HighestVersion.cpp.tmpl'. ........ r493151 | aconway | 2007-01-05 14:25:32 -0500 (Fri, 05 Jan 2007) | 6 lines 2007-01-05 Jim Meyering <meyering@redhat.com> * lib/broker/Makefile.am (libqpidbroker_la_LIBADD): Define, so we link with libqpidcommon.la. * lib/client/Makefile.am (libqpidclient_la_LIBADD): Likewise. ........ git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@516489 13f79535-47bb-0310-9956-ffa450edef68
* r1278@fuschia: andrew | 2007-03-08 19:42:43 +0000Andrew Stitcher2007-03-081-3/+15
| | | | | | | | Correctly split reference messages into chunks shorter than the framesize git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@516157 13f79535-47bb-0310-9956-ffa450edef68
* r1239@fuschia: andrew | 2007-02-26 10:58:52 +0000Andrew Stitcher2007-03-053-36/+63
| | | | | | | | | Refactored message transfer to extract commmonality from deliver/get r1242@fuschia: andrew | 2007-03-05 17:54:44 +0000 Turn oversize inline transfers into reference transfers git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@514751 13f79535-47bb-0310-9956-ffa450edef68
* r1237@fuschia: andrew | 2007-02-23 15:40:44 +0000Andrew Stitcher2007-02-231-3/+1
| | | | | | | Bug in acks - Small typo fixed git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@510986 13f79535-47bb-0310-9956-ffa450edef68
* Thread safety fixes for race conditions on incoming messages.Alan Conway2007-02-211-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cpp/lib/client/MessageListener.h: const correctness. * cpp/tests/*: MessageListener const change. * cpp/lib/broker/Content.h: Removed out-of-date FIXME comments. * cpp/lib/client/ClientChannel.h/ .cpp(): - added locking for consumers map and other member access. - refactored implementations of Basic get, deliver, return: most logic now encapsulted in IncomingMessage class. - fix channel close problems. * cpp/lib/client/ClientMessage.h/.cpp: - const correctness & API convenience fixes. - getMethod/setMethod/getHeader: for new IncomingMessage * cpp/lib/client/Connection.h/.cpp: - Fixes to channel closure. * cpp/lib/client/IncomingMessage.h/.cpp: - Encapsulate *all* incoming message handling for client. - Moved handling of BasicGetOk to IncomingMessage to fix race. - Thread safety fixes. * cpp/lib/client/ResponseHandler.h/.cpp: - added getResponse for ClientChannel. * cpp/lib/common/Exception.h: - added missing throwSelf implementations. - added ShutdownException as general purpose shut-down indicator. - added EmptyException as general purpose "empty" indicator. * cpp/lib/common/sys/Condition|Monitor|Mutex.h|.cpp: - Condition variable abstraction extracted from Monitor for situations where a single lock is associated with multiple conditions. * cpp/tests/ClientChannelTest.cpp: - Test incoming message transfer, get, consume etc. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@510161 13f79535-47bb-0310-9956-ffa450edef68
* r1152@fuschia: andrew | 2007-02-17 21:14:42 +0000Andrew Stitcher2007-02-215-85/+135
| | | | | | | | | More support for references (and transfers of reference content) r1220@fuschia: andrew | 2007-02-21 00:22:53 +0000 Working version of delivering Message Transfers by reference git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@509834 13f79535-47bb-0310-9956-ffa450edef68
* Altered exception thrown for unopened and reopened references.Gordon Sim2007-02-161-3/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@508379 13f79535-47bb-0310-9956-ffa450edef68
* Added durability property to queues and pass this to broker on declare. ↵Gordon Sim2007-02-141-4/+9
| | | | | | | | | | (This change also applied on trunk) Minor update of accumulated ack and test. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@507622 13f79535-47bb-0310-9956-ffa450edef68
* r1127@fuschia: andrew | 2007-02-14 16:15:34 +0000Andrew Stitcher2007-02-141-2/+5
| | | | | | | Fixed tests, and fixed an exposed bug git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@507602 13f79535-47bb-0310-9956-ffa450edef68
* * cpp/lib/common/sys/ProducerConsumer.h:Alan Conway2007-02-142-3/+2
| | | | | | | | | | | | | | | General-purpose producer-consumer synchronization. Anywhere we have producer/consumer threads in qpid we should re-use this sync object rather than re-inventing the synchronization each time. * cpp/lib/common/sys/AtomicCount.h: Separated ScopedIncrement/ScopedDecrement into ScopedIncrement.h * cpp/tests/InProcessBroker.h: Added class InProcessBrokerClient, a self contained in-process client + broker convenience for tests. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@507560 13f79535-47bb-0310-9956-ffa450edef68
* r1111@fuschia: andrew | 2007-02-09 15:51:10 +0000Andrew Stitcher2007-02-135-22/+30
| | | | | | | | | | Removed currently unused request tracking logic r1125@fuschia: andrew | 2007-02-13 21:51:30 +0000 Implemented receiveing batched Message.ok in c++ broker Implemented batched response frames in python client code git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@507249 13f79535-47bb-0310-9956-ffa450edef68
* * gentools/templ.cpp/*Proxy*, CppGenerator.java: Changes to ProxyAlan Conway2007-02-1315-280/+400
| | | | | | | | | | | | | | | | | | | | | | | | | | | | classes to make them directly usable as an API for low-level AMQP access. - Proxies hold reference to a ChannelAdapter not just an output handler. - Removed MethodContext parameter, makes no sense on requester end. - Return RequestId from request methods so caller can correlate incoming responses. - Add RequestId parameter to response methods so caller can provide correlation for outgoing responses. - No longer inherit from *Operations classes as the signatures no longer match. Proxy is for caller (client/requester) and Operations is for callee (server/responder) * cpp/lib/client/ClientChannel.h: Channel provides a raw proxy to the broker. Normal users will still use the Channel API to deal with the broker, but advanced users (incl ourselves!) can use the raw API to directly send and receive any AMQP message. * cpp/lib/broker/BrokerChannel,BrokerAdapter: Refactor for new proxies. broker::Channel is also a ClientProxy * Sundry files: - Pass ProtcolVersion by value, it is only two bytes. - Misc. const correctness fixes. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@506823 13f79535-47bb-0310-9956-ffa450edef68
* Corrected calculation of inline content size.Gordon Sim2007-02-121-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@506459 13f79535-47bb-0310-9956-ffa450edef68
* Handle invalid channels.Gordon Sim2007-02-094-10/+17
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@505360 13f79535-47bb-0310-9956-ffa450edef68
* 'Corrected' error code (507 no longer exists in the spec so using what java ↵Gordon Sim2007-02-091-1/+1
| | | | | | has i.e. 530). git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@505298 13f79535-47bb-0310-9956-ffa450edef68
* Fix to close connection when issuing a connection exception (ideally would ↵Gordon Sim2007-02-091-0/+2
| | | | | | wait a short while before doing so, but this is better than nothing for now). git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@505291 13f79535-47bb-0310-9956-ffa450edef68
* r1104@fuschia: andrew | 2007-02-09 02:14:00 +0000Andrew Stitcher2007-02-099-11/+40
| | | | | | | Initial implementation of Message.get delivery git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@505139 13f79535-47bb-0310-9956-ffa450edef68
* r1102@fuschia: andrew | 2007-02-09 00:52:04 +0000Andrew Stitcher2007-02-094-23/+25
| | | | | | | | Got ack working for the non batched case Small tidy up in broker Channel git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@505108 13f79535-47bb-0310-9956-ffa450edef68
* * cpp/lib/broker/Content.h: removed destroy. Destructor cleans up.Alan Conway2007-02-076-18/+31
| | | | | | | | | * cpp/lib/broker/BrokerMessage.cpp: Removed Content::destroy call, * cpp/lib/broker/InMemoryContent.cpp/.h: Remove empty destroy() and destructor. * cpp/lib/broker/LazyLoadedContent.cpp/.h: Moved destroy() to destructor git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@504708 13f79535-47bb-0310-9956-ffa450edef68
* Removed out of date FIXME.Alan Conway2007-02-071-1/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@504703 13f79535-47bb-0310-9956-ffa450edef68
* r840@fuschia: andrew | 2007-01-19 00:31:59 +0000Andrew Stitcher2007-02-071-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed merge errors r841@fuschia: andrew | 2007-01-19 00:47:29 +0000 Another merge problem fixed r878@fuschia: andrew | 2007-01-24 11:27:48 +0000 Started work on the Message class handler implementation r976@fuschia: andrew | 2007-01-30 17:05:05 +0000 Working again after broker Message refactor r980@fuschia: andrew | 2007-01-30 18:39:18 +0000 Fix for extra parameter to transfer r992@fuschia: andrew | 2007-01-31 18:29:57 +0000 Checkpoint of work on broker MessageMessage r1001@fuschia: andrew | 2007-01-31 22:02:27 +0000 MessageMessage work now compiles r1071@fuschia: andrew | 2007-02-06 14:14:30 +0000 Implemented outgoing Message.Transfer so that messages are now delivered - Still to do: correctly process the Message.Ok acknowledgements; Message.Get etc. r1081@fuschia: andrew | 2007-02-06 14:53:22 +0000 Fixed broken push r1084@fuschia: andrew | 2007-02-06 15:48:20 +0000 Merge fixes r1091@fuschia: andrew | 2007-02-07 16:15:27 +0000 Implement contentSize for inline content git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@504603 13f79535-47bb-0310-9956-ffa450edef68
* * broker/BrokerMessage.cpp: Added ConnectionToken publisher.Alan Conway2007-02-0710-96/+94
| | | | | | | | | | | | * cpp/lib/broker/BrokerMessageMessage.cpp: - Added ConnectionToken publisher. - Implemented getDeliveryMode, getApplicationHeaders * cpp/lib/broker/Reference.cpp: Holds MessageMessage instead of just MessageTransferBody. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@504485 13f79535-47bb-0310-9956-ffa450edef68
* * cpp/lib/broker/BrokerQueue.cpp (): Centralized exceptions.Alan Conway2007-02-0611-137/+152
| | | | | | | | | | | | | | | | | | | | | | | * cpp/lib/broker/BrokerAdapter.cpp (consume): Moved exceptions to Queue * cpp/lib/broker/BrokerChannel.cpp (consume): Moved exceptions to Queue * cpp/lib/broker/BrokerMessageBase.cpp: - Added getApplicationHeaders. * cpp/lib/broker/BrokerMessageMessage.cpp: - Fixed exchangeName/destination mix up. - Removed redundant constructor. - Added getApplicationHeaders * cpp/lib/broker/MessageHandlerImpl.cpp: - Added missing acknowledgements - Replaced assert(0) with throw "unimplemented". - Moved exchange existence exceptions to ExchangeRegistry - Handle transfers with references. * cpp/tests/Makefile.am (check): Don't run tests unless all libs built OK. * cpp/tests/python_tests: Re-enabled python tests. Not all passing. * python/tests/message.py (MessageTests.test_get): Replace get-ok with ok. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@504305 13f79535-47bb-0310-9956-ffa450edef68
* Inline transferred messages deliveredAndrew Stitcher2007-02-066-31/+95
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@504182 13f79535-47bb-0310-9956-ffa450edef68
* * broker/Reference, tests/ReferenceTest: class representing a reference.Alan Conway2007-02-0614-343/+359
| | | | | | | | | | | | | | | | | * broker/BrokerChannel.cpp (complete): get destination exchange from Message, don't assume only one message in progress (could have multiple references open.) * broker/BrokerMessageMessage.cpp,.h: Contains transfer body and vector of append bodies. Construct from Reference. * broker/CompletionHandler.h: Extracted from BrokerMessage, used for MessageMessage also. * broker/ExchangeRegistry.cpp: Moved throw for missing exchanges to registry. * cpp/tests/start_broker: Increased wait time to 5 secs. * cpp/tests/*: renamed DummyChannel as MockChannel. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@504172 13f79535-47bb-0310-9956-ffa450edef68
* git-svn-id: ↵Andrew Stitcher2007-02-061-0/+23
| | | | https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@504152 13f79535-47bb-0310-9956-ffa450edef68
* git-svn-id: ↵Andrew Stitcher2007-02-061-0/+23
| | | | https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@504151 13f79535-47bb-0310-9956-ffa450edef68
* r800@fuschia: andrew | 2007-01-17 17:34:13 +0000Andrew Stitcher2007-02-061-0/+193
| | | | | | | Updated to latest upstream changes git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@504148 13f79535-47bb-0310-9956-ffa450edef68
* * cpp/lib/common/framing/MethodContext.h: Reduced MethodContext toAlan Conway2007-02-0220-750/+765
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ChannelAdapter and Method Body. Request ID comes from body, ChannelAdapter is used to send frames, not OutputHandler. * cpp/lib/common/framing/ChannelAdapter.h,.cpp: Removed context member. Context is per-method not per-channel. * cpp/lib/broker/*: Replace direct use of OutputHandler and ChannelId with MethodContext (for responses) or ChannelAdapter (for requests.) Use context request-ID to construct responses, send all bodies via ChannelAdapter. * cpp/lib/broker/BrokerAdapter.cpp: Link broker::Channel to BrokerAdapter. * cpp/lib/broker/*: Remove unnecessary ProtocolVersion parameters. Fix bogus signatures: ProtocolVersion* -> const ProtocolVersion& * Cosmetic changes, many files: - fixed indentation, broke long lines. - removed unnecessary qpid:: prefixes. * broker/BrokerAdapter,BrokerChannel: Merged BrokerAdapter into broker::channel. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@502767 13f79535-47bb-0310-9956-ffa450edef68
* Changed methodBody in Methodcontext to be a shared_ptrAndrew Stitcher2007-02-011-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@502209 13f79535-47bb-0310-9956-ffa450edef68
* From Andrew Stitcher <astitcher@redhat.com>Alan Conway2007-01-317-255/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r723@fuschia: andrew | 2007-01-12 00:35:16 +0000 Branch for my work on Qpid.0-9 r724@fuschia: andrew | 2007-01-12 00:59:28 +0000 Added in empty implementation of handler class for protocol Message class r768@fuschia: andrew | 2007-01-17 01:25:16 +0000 * Added Test for new MessageHandlerImpl (but no actual tests yet) * Filled in lots of the blanks in the MessageHandlerImpl with code stolen from the BasicHandlerImpl r800@fuschia: andrew | 2007-01-17 17:34:13 +0000 Updated to latest upstream changes r840@fuschia: andrew | 2007-01-19 00:31:59 +0000 Fixed merge errors r841@fuschia: andrew | 2007-01-19 00:47:29 +0000 Another merge problem fixed r878@fuschia: andrew | 2007-01-24 11:27:48 +0000 Started work on the Message class handler implementation r976@fuschia: andrew | 2007-01-30 17:05:05 +0000 Working again after broker Message refactor r980@fuschia: andrew | 2007-01-30 18:39:18 +0000 Fix for extra parameter to transfer r992@fuschia: andrew | 2007-01-31 18:29:57 +0000 Checkpoint of work on broker MessageMessage r1001@fuschia: andrew | 2007-01-31 22:02:27 +0000 MessageMessage work now compiles git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@502038 13f79535-47bb-0310-9956-ffa450edef68
* Trivial FIXMEs.Alan Conway2007-01-313-9/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@501973 13f79535-47bb-0310-9956-ffa450edef68
* * framing/ChannelAdapter.cpp: Enable channel state assertions.Alan Conway2007-01-311-4/+5
| | | | | | | | | | | | | | | * common/Exception & others: Exception template constructors that accept any object that supports ostream operator<< as messages. E.g. can pass a boost::format object directly, no need to call str(). * Fixed up various exception messges to use boost::format. * framing/Requester.cpp: Exception on invalid response id. * client/Connection.h: Remove extra getVersion() function. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@501948 13f79535-47bb-0310-9956-ffa450edef68
* * broker/Broker.cpp: Don't create Acceptor in shutdown() - required soAlan Conway2007-01-311-1/+2
| | | | | | | InProcessBroker does not attempt to bind. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@501895 13f79535-47bb-0310-9956-ffa450edef68
* * cpp/lib/broker/Broker.cpp: Defer creation of acceptor till needed soAlan Conway2007-01-306-35/+54
| | | | | | | | | | InProcessBroker will not listen on any port. * cpp/lib/broker/BrokerAdapter,Connection.cpp,.h: Encapsulate public data members. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@501638 13f79535-47bb-0310-9956-ffa450edef68
* Andrew Stitcher <astitcher@redhat.com>Alan Conway2007-01-308-55/+471
| | | | | | | | | | | | | | | | | | | | | | | | | | r723@fuschia: andrew | 2007-01-12 00:35:16 +0000 Branch for my work on Qpid.0-9 r724@fuschia: andrew | 2007-01-12 00:59:28 +0000 Added in empty implementation of handler class for protocol Message class r768@fuschia: andrew | 2007-01-17 01:25:16 +0000 * Added Test for new MessageHandlerImpl (but no actual tests yet) * Filled in lots of the blanks in the MessageHandlerImpl with code stolen from the BasicHandlerImpl r800@fuschia: andrew | 2007-01-17 17:34:13 +0000 Updated to latest upstream changes r840@fuschia: andrew | 2007-01-19 00:31:59 +0000 Fixed merge errors r841@fuschia: andrew | 2007-01-19 00:47:29 +0000 Another merge problem fixed r878@fuschia: andrew | 2007-01-24 11:27:48 +0000 Started work on the Message class handler implementation r976@fuschia: andrew | 2007-01-30 17:05:05 +0000 Working again after broker Message refactor r980@fuschia: andrew | 2007-01-30 18:39:18 +0000 Fix for extra parameter to transfer git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@501534 13f79535-47bb-0310-9956-ffa450edef68
* * Added ClientAdapter - client side ChannelAdapter. Updated client side.Alan Conway2007-01-299-15/+20
| | | | | | | | | | | | | | | | * Moved ChannelAdapter initialization from ctor to init(), updated broker side. * Improved various exception messages with boost::format messages. * Removed unnecssary virtual inheritance. * Widespread: fixed incorrect non-const ProtocolVersion& parameters. * Client API: pass channels by reference, not pointer. * codegen: - MethodBodyClass.h.templ: Added CLASS_ID, METHOD_ID and isA() template. - Various: fixed non-const ProtocolVersion& parameters. * cpp/bootstrap: Allow config arguments with -build. * cpp/gen/Makefile.am: Merged codegen fixes from trunk. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@501087 13f79535-47bb-0310-9956-ffa450edef68
* Don't close channel on connection (resulting in BrokerAdapter being deleted) ↵Gordon Sim2007-01-241-1/+1
| | | | | | until close request has been successfully sent. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@499332 13f79535-47bb-0310-9956-ffa450edef68
* * Fixed request-response correlation on the broker.Alan Conway2007-01-222-2/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@498706 13f79535-47bb-0310-9956-ffa450edef68
* * AMQRequestBody.cpp: encode/decode bug - added missing reserved 4 byte word.Alan Conway2007-01-223-0/+90
| | | | | | | | * BrokerSingleton: allow broker to run in-process. * RequestResponseTest: skeleton test for request-response round-trip. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@498646 13f79535-47bb-0310-9956-ffa450edef68
* Last big refactoring for 0-9 framing. Still need additional tests &Alan Conway2007-01-1913-103/+119
| | | | | | | | | | | | | | | | debugging but the overall structure is all in place. * configure.ac: Added -Wno_virtual_overload warning * ChannelTest.cpp, MessageBuilderTest.cpp: Fixed virtual overload warnings. * ChannelAdapter.cpp: Common base for client/broker adapters. Creates invocation context, handles request/resposne IDs. * CppGenerator.java: - Proxies send methods using MethodContext. * Various .h files: removed unnecessary #includes, added to requred .cpp files. * ConnectionContext: renamed from SessionContext. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@497963 13f79535-47bb-0310-9956-ffa450edef68
* * tests/FramingTest.cpp - added test for validation of content data typeGordon Sim2007-01-191-35/+22
| | | | | | | | | * lib/broker/BrokerAdapter.cpp - initial unbind implementation * lib/common/framing/FramingContent.cpp - minor code cleanup git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@497755 13f79535-47bb-0310-9956-ffa450edef68
* Initial implementation of AMQP content data type.Gordon Sim2007-01-181-2/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@497542 13f79535-47bb-0310-9956-ffa450edef68
* * MethodContext: added invocation context for methods. Can carry RequestIdAlan Conway2007-01-183-103/+102
| | | | | | | | | as well as ChannelId. * gentools: AMQP_Clinet|ServerOperations and *Body::invoke(): pass MethodContex instead of channel ID. * All *HandlerImpl classe: use MethodContext instead of channel ID. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@497511 13f79535-47bb-0310-9956-ffa450edef68
* From: Andrew Stitcher <astitcher@redhat.com>Alan Conway2007-01-184-306/+429
| | | | | | | | | | | | | | | | | | | | | | | r723@fuschia: andrew | 2007-01-12 00:35:16 +0000 Branch for my work on Qpid.0-9 r724@fuschia: andrew | 2007-01-12 00:59:28 +0000 Added in empty implementation of handler class for protocol Message class r768@fuschia: andrew | 2007-01-17 01:25:16 +0000 * Added Test for new MessageHandlerImpl (but no actual tests yet) * Filled in lots of the blanks in the MessageHandlerImpl with code stolen from the BasicHandlerImpl r800@fuschia: andrew | 2007-01-17 17:34:13 +0000 Updated to latest upstream changes Alan Conway <aconway@redhat.com> * Took the changes from Andrew's patch and separated the MessageHandlerImpl into its own .cpp/.h file. Other handlers should be separated also. * BrokerAdapter inner classes ignore channel arg and use channel member instead. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@497336 13f79535-47bb-0310-9956-ffa450edef68
* There are a ton of FIXMES and request/response IDs are not yet working fullyAlan Conway2007-01-187-634/+584
| | | | | | | | | | | | | | | | | | | | | but all tests are passing. * broker::Broker: Removed requester/responder from broker. * framing::BodyHandler: added Requester/Responder to BodyHandler, becomes the base class for channel adapters in broker and client. * broker::BrokerAdapter: Inherit BodyHandler, wraps a broker::Channel. Hide private *HandlerImpl detail classes in BodyHandler.cpp. * broker::Connection: Requester/Responder/Adapter now per-channel. Connection channel map replaced with adapter map of BrokerAdapters. handle* functions moved to BrokerAdapter. All methods now handled by a BrokerAdapter for the relevant channel. ChannelHandlerImpl is repsonsible for checking that - No method on a non-0 channel is processed before open() - Channel 0 methods only happen on channel 0 and similar for non-zero methods Checks are not yet complete (see FIXMES) * client::ResponseHandler: fix for client hang if broker crashs. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@497319 13f79535-47bb-0310-9956-ffa450edef68
* Separated adapter code from Connection class: Extracted allAlan Conway2007-01-177-826/+913
| | | | | | | | | | | HandlerImpl classes to BrokerAdapter. The Connection is now part of the version-invariant core, all version-dependent code is in BrokerAdapter. The extraction exposes some ugly dependencies between adapter, Connection and parts of the Broker. More refactoring to follow to improve encapsulation. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@496926 13f79535-47bb-0310-9956-ffa450edef68