summaryrefslogtreecommitdiff
path: root/cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove references to defunct broker::ChannelHandlerAlan Conway2008-01-291-2/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@616402 13f79535-47bb-0310-9956-ffa450edef68
* Provide public read-access to IListNode pointers, so frame handlersAlan Conway2008-01-292-1/+10
| | | | | | can use then to find the next frame. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@616396 13f79535-47bb-0310-9956-ffa450edef68
* Deleted unused classes, adjusted files that still mention them.Alan Conway2008-01-2917-675/+8
| | | | | | | | | | | D src/qpid/framing/ChannelAdapter.cpp D src/qpid/framing/ChannelAdapter.h D src/qpid/framing/HandlerUpdater.h D src/tests/BrokerChannelTest.cpp D src/tests/MockChannel.h git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@616353 13f79535-47bb-0310-9956-ffa450edef68
* Added disabled test and FIXME note to fix client-side race.Alan Conway2008-01-281-18/+26
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@615968 13f79535-47bb-0310-9956-ffa450edef68
* Convert ClientSessionTest to boost.Alan Conway2008-01-282-109/+101
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@615958 13f79535-47bb-0310-9956-ffa450edef68
* Patch from Ted Ross, QPID-744Alan Conway2008-01-281-5/+9
| | | | | | | | | | Two bugs are fixed in this patch: 1) A plug-in module with no configuration options caused the broker to crash when the module was loaded. 2) Failure to load a module called out in --load-module now causes the broker to exit. Failure to load a module via --load-dir is logged but does not cause the broker to exit. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@615910 13f79535-47bb-0310-9956-ffa450edef68
* Fixed re-entry problem with exceptions throw in logger code.Alan Conway2008-01-242-3/+4
| | | | | | | | - src/qpid/log/Logger.cpp - src/qpid/log/Statement.cpp git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@615075 13f79535-47bb-0310-9956-ffa450edef68
* Fix error in NDEBUG builds.Alan Conway2008-01-241-2/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@615073 13f79535-47bb-0310-9956-ffa450edef68
* Improved/additional client API tests.Alan Conway2008-01-2428-509/+336
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced InProcessBroker with a more accurate loopback BrokerFixture. - Added asserts for mutex/condition/thread errors in debug build. - Added client tests for several exception conditions. - Added peer address to log ouput, client/server distinguished by (addr) or [addr] - Fixed various deadlocks & races exposed by the new asserts & tests. File-by-file: New BrokerFixture replaces InProcessBroker D src/tests/InProcessBroker.h M src/tests/BrokerFixture.h M src/tests/SocketProxy.h M src/tests/Makefile.am Made it run a bit faster. M src/tests/quick_perftest Redundant D src/tests/APRBaseTest.cpp Updated tests to use BrokerFixture M src/tests/ClientChannelTest.cpp M src/tests/exception_test.cpp M src/tests/ClientSessionTest.cpp Print thread IDs in decimal, same as GDB. M src/qpid/log/Logger.cpp Assert mutex/condition ops in debug build. M src/qpid/sys/posix/check.h M src/qpid/sys/posix/Mutex.h M src/qpid/sys/posix/Condition.h M src/qpid/sys/posix/Thread.h Added toFd() so SocketProxy can use ::select() M src/qpid/sys/Socket.h M src/qpid/sys/posix/Socket.cpp Fixes for races & deadlocks shown up by new tests & asserts. Mostly shutdown/close issues. M src/qpid/client/ConnectionHandler.h M src/qpid/client/ConnectionImpl.cpp M src/qpid/client/Demux.h M src/qpid/client/SessionCore.cpp M src/qpid/client/ConnectionHandler.cpp M src/qpid/client/Connector.h M src/qpid/client/Demux.cpp M src/qpid/client/Dispatcher.cpp M src/qpid/client/ConnectionImpl.h Logging peer address. M src/qpid/sys/AsynchIOAcceptor.cpp git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@615063 13f79535-47bb-0310-9956-ffa450edef68
* Fix error in script - not passing $ARGS to background processes.Alan Conway2008-01-241-4/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@614880 13f79535-47bb-0310-9956-ffa450edef68
* verify: kill any stray child processes on exit.Alan Conway2008-01-231-0/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@614648 13f79535-47bb-0310-9956-ffa450edef68
* Fixed bug in verify - was not properly killing ./server process inAlan Conway2008-01-235-51/+45
| | | | | | | request-response example. Streamlined example scripts a little. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@614646 13f79535-47bb-0310-9956-ffa450edef68
* examples/Makefile.am:Alan Conway2008-01-235-4/+11
| | | | | | | | | | | | | | - verify.tar target, tars up verify script for easy transport to installation. examples/examples/pub-sub/verify.in: fixed typeo. examples/verify: don't kill the pub-sub listener, it should exit gracefully. src/qpid/client/Dispatcher.cpp src/qpid/client/SubscriptionManager.cpp - Fix uninitialized autoStop member variable. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@614587 13f79535-47bb-0310-9956-ffa450edef68
* Take space out the queue name as it currently upsets the java client when ↵Gordon Sim2008-01-232-7/+7
| | | | | | used in the reply-to field. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@614569 13f79535-47bb-0310-9956-ffa450edef68
* Some minor changes to doc; primarily aimed at making the list of classesGordon Sim2008-01-2312-11/+30
| | | | | | | | listed as client API more useful. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@614551 13f79535-47bb-0310-9956-ffa450edef68
* From QPID-752 by Ed Hill: configure checks for help2man.Alan Conway2008-01-211-1/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@613978 13f79535-47bb-0310-9956-ffa450edef68
* bump up rev for recent changes to plugin modules & mgmtGordon Sim2008-01-211-1/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@613842 13f79535-47bb-0310-9956-ffa450edef68
* qpid/IList.h: Added public T* getNext(), T* getPrev() to IListNode so node ↵Alan Conway2008-01-182-11/+37
| | | | | | | | | subclasses can follow their own links. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@613290 13f79535-47bb-0310-9956-ffa450edef68
* Add optional host, port arguments to all example clients.Alan Conway2008-01-1816-48/+74
| | | | | | | | | | Verify can start private broker & pass host/port to examples, by default it still uses local host/standard port. Added host:port to Socket error messages. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@613018 13f79535-47bb-0310-9956-ffa450edef68
* Added a test to measure latency (still needs refining, still evolving)Gordon Sim2008-01-172-0/+376
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@612986 13f79535-47bb-0310-9956-ffa450edef68
* Removed erroneous commentGordon Sim2008-01-171-7/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@612977 13f79535-47bb-0310-9956-ffa450edef68
* Intrusive list template qpid::IList and unit tests.Alan Conway2008-01-175-13/+433
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@612976 13f79535-47bb-0310-9956-ffa450edef68
* Use amq.direct in reply to (as queue is bound to that exchange anyway)Gordon Sim2008-01-171-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@612810 13f79535-47bb-0310-9956-ffa450edef68
* Set the exchange field in delivery properties on the broker.Gordon Sim2008-01-171-0/+1
| | | | | | | | (required an adjustment to the size of messages in the bytes based credit test) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@612805 13f79535-47bb-0310-9956-ffa450edef68
* Add option to perftest to run for n iterations and print averages of all ↵Gordon Sim2008-01-161-75/+128
| | | | | | reported rates. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@612478 13f79535-47bb-0310-9956-ffa450edef68
* Added option for making each published message have unique data (that can be ↵Gordon Sim2008-01-151-5/+26
| | | | | | tracked e.g. for latency measurement) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@612086 13f79535-47bb-0310-9956-ffa450edef68
* From https://issues.apache.org/jira/browse/QPID-737 by Ted Ross.Alan Conway2008-01-141-3/+3
| | | | | | | | | The new --load-dir and --load options don't work with boost-1.33. This older version considers the option --load to be ambiguous. This patch change --load to --load-module to remove the ambiguity. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@611876 13f79535-47bb-0310-9956-ffa450edef68
* Apply patch from QPID-732 by Ted Ross.Alan Conway2008-01-1413-80/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The attached patch provides support for plugin modules in the C++ broker. - Plugins are supported (--load <lib>, --load-dir <dir> options provided) - Command options may be extended by plugins. - A workaround was added to make config-file parsing tolerant of unregistered options. - Store-specific options were removed so they can be supplied by a plugin - A pre-log facility was introduced so log messages can be generated prior to the initialization of the logging module. File-by-file details: M cpp/src/qpidd.cpp Added support for loadable plugin modules. This involves a two-phased handling of command line/config options. Phase-1 determines which modules to load and phase-2 is based on all of the command-line options supplied by qpidd and the loaded plugins. M cpp/src/Makefile.am Added dependency for boost_filesystem library. M cpp/src/qpid/Plugin.h Added 'earlyInitialize' method. Plugins are now initialized at two points: earlyInitialize is called prior to broker initialization and initialize is called at the end of broker init. This allows modules like the store to be hooked in early and other modules to be able to assume that the broker target is fully functional. M cpp/src/qpid/cluster/ClusterPlugin.cpp Added stub for the new pure-virtual earlyInitialize method. M cpp/src/qpid/Options.h M cpp/src/qpid/Options.cpp Added 'allowUnknown' option in the parse method. This is needed in phase-1 command processing when there are options for not-yet-loaded plugin modules. Because the stable version of boost does not permit 'allowUnknown' for config files, a workaround has been implemented in this module to pre-filter the config file text removing lines that represent unknown options. M cpp/src/qpid/broker/Broker.h M cpp/src/qpid/broker/Broker.cpp Removed all store-specific command options. Updated logic to allow the store to be a plugin module. M cpp/src/qpid/broker/DtxManager.h M cpp/src/qpid/broker/DtxManager.cpp M cpp/src/qpid/broker/QueueRegistry.h M cpp/src/qpid/broker/QueueRegistry.cpp Changed API to these classes such that the store is no longer supplied in the constructor but is supplied later, before any operations are called for. M cpp/src/qpid/broker/MessageStoreModule.h M cpp/src/qpid/broker/MessageStoreModule.cpp This module is still needed to provide "exception transfer" service. It was changed to not load the store module but rather use the already-loaded plugin store. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@611823 13f79535-47bb-0310-9956-ffa450edef68
* Apply patch from QPID-732 by Ted Ross.Alan Conway2008-01-141-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The attached patch provides support for plugin modules in the C++ broker. - Plugins are supported (--load <lib>, --load-dir <dir> options provided) - Command options may be extended by plugins. - A workaround was added to make config-file parsing tolerant of unregistered options. - Store-specific options were removed so they can be supplied by a plugin - A pre-log facility was introduced so log messages can be generated prior to the initialization of the logging module. File-by-file details: M cpp/src/qpidd.cpp Added support for loadable plugin modules. This involves a two-phased handling of command line/config options. Phase-1 determines which modules to load and phase-2 is based on all of the command-line options supplied by qpidd and the loaded plugins. M cpp/src/Makefile.am Added dependency for boost_filesystem library. M cpp/src/qpid/Plugin.h Added 'earlyInitialize' method. Plugins are now initialized at two points: earlyInitialize is called prior to broker initialization and initialize is called at the end of broker init. This allows modules like the store to be hooked in early and other modules to be able to assume that the broker target is fully functional. M cpp/src/qpid/cluster/ClusterPlugin.cpp Added stub for the new pure-virtual earlyInitialize method. M cpp/src/qpid/Options.h M cpp/src/qpid/Options.cpp Added 'allowUnknown' option in the parse method. This is needed in phase-1 command processing when there are options for not-yet-loaded plugin modules. Because the stable version of boost does not permit 'allowUnknown' for config files, a workaround has been implemented in this module to pre-filter the config file text removing lines that represent unknown options. M cpp/src/qpid/broker/Broker.h M cpp/src/qpid/broker/Broker.cpp Removed all store-specific command options. Updated logic to allow the store to be a plugin module. M cpp/src/qpid/broker/DtxManager.h M cpp/src/qpid/broker/DtxManager.cpp M cpp/src/qpid/broker/QueueRegistry.h M cpp/src/qpid/broker/QueueRegistry.cpp Changed API to these classes such that the store is no longer supplied in the constructor but is supplied later, before any operations are called for. M cpp/src/qpid/broker/MessageStoreModule.h M cpp/src/qpid/broker/MessageStoreModule.cpp This module is still needed to provide "exception transfer" service. It was changed to not load the store module but rather use the already-loaded plugin store. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@611822 13f79535-47bb-0310-9956-ffa450edef68
* A new management data type (and the code-generation support for it) have ↵Alan Conway2008-01-111-7/+61
| | | | | | been added that allows min/max/average statistics to be tracked. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@611209 13f79535-47bb-0310-9956-ffa450edef68
* Allow more than one message to be encoded into a single buffer if available.Gordon Sim2008-01-111-2/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@611205 13f79535-47bb-0310-9956-ffa450edef68
* Fix bug in Connector - incorrect use of iterator.Alan Conway2008-01-112-11/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@611009 13f79535-47bb-0310-9956-ffa450edef68
* Client always collects at least an entire frameset into a single bufferAlan Conway2008-01-107-240/+287
| | | | | | | | | | | | | when possible. Based on patch from Gordon Sim. - Refactor Connector::writebuff, ::send as Connector::Writer - Collect frames up to EOF notifying AIO write. - Encode all available complete framesets into buffers as compactly as possible. - Logging buffer size and frames encoded per write for client and broker. - framing::Buffer added getPosition(), getSize(), default ctor, copy ctor. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@610972 13f79535-47bb-0310-9956-ffa450edef68
* Extra level of exception handling to prevent core dumps.Gordon Sim2008-01-091-2/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@610354 13f79535-47bb-0310-9956-ffa450edef68
* add missing header file SessionManager.hNuno Santos2008-01-071-1/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@609786 13f79535-47bb-0310-9956-ffa450edef68
* Omitted in previous commit.Alan Conway2008-01-071-0/+37
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@609680 13f79535-47bb-0310-9956-ffa450edef68
* Patch from https://issues.apache.org/jira/browse/QPID-722 by Ted Ross:Alan Conway2008-01-0712-130/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two changes in this patch: 1) Management object IDs are now persistent for persistent (durable) objects. This is required to provide continuity of historical management data across broker restarts. The format of object IDs now indicates whether they are transient or persistent. The upper bit (bit 63) is 0 for transient IDs and 1 for persistent IDs. 2) Changes have been made to the management code generator in preparation for allowing it to be used by outside projects that wish to use the broker Plugin API for management access. File-by-file notes: M python/mgmt-cli/managementdata.py Enhanced user-friendly display of 64-bit object IDs to differentiate between persistent IDs and non-persistent IDs. M cpp/src/Makefile.am Changed command line format for call to the management code generator. M cpp/src/qpid/broker/Broker.cpp M cpp/src/qpid/broker/Vhost.cpp M cpp/src/qpid/broker/Queue.cpp Updated calls to ManagementAgent::addObject to use the new support for persistent IDs, ensuring that the management object IDs for persistent objects are themselves persistent. M cpp/src/qpid/management/ManagementAgent.h M cpp/src/qpid/management/ManagementAgent.cpp Added support (using defaulted arguments) to ManagementAgent::addObject for persistent object IDs M cpp/managementgen/generate.py M cpp/managementgen/schema.py M cpp/managementgen/main.py Added the ability for templates to set variables to be used during code generation. Makefile fragment is now generated using a template rather than hard-code. This was done to help non-qpid code to use the code generator for management-via-qpid support. M cpp/managementgen/templates/Args.h M cpp/managementgen/templates/Class.cpp M cpp/managementgen/templates/Class.h Use a generator variable to define the comment prefix. A cpp/managementgen/templates/Makefile.mk New template for the qpid makefile fragment. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@609672 13f79535-47bb-0310-9956-ffa450edef68
* Ensure tx test retains durability of 'transfered' messages.Gordon Sim2008-01-041-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@608948 13f79535-47bb-0310-9956-ffa450edef68
* Additional test for excercising transactional behaviour.Gordon Sim2008-01-042-0/+275
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@608916 13f79535-47bb-0310-9956-ffa450edef68
* Provide method to test for empty local queue.Gordon Sim2008-01-043-1/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@608915 13f79535-47bb-0310-9956-ffa450edef68
* Makefile.am: added check-long target to run perftest scenarios.Alan Conway2008-01-047-5/+25
| | | | | | | | | Not run as part of normal check target. Takes about 5 minutes to run on an amd-32 optimized build. For a longer run, increase PERFTEST_MULT in run_perftest. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@608892 13f79535-47bb-0310-9956-ffa450edef68
* added missing header fileNuno Santos2008-01-031-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@608649 13f79535-47bb-0310-9956-ffa450edef68
* limit builds to i386 and x86_64 archsNuno Santos2008-01-031-1/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@608615 13f79535-47bb-0310-9956-ffa450edef68
* add ruby as a build dependencyNuno Santos2008-01-031-1/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@608592 13f79535-47bb-0310-9956-ffa450edef68
* patch-715 (tross)Carl C. Trieloff2008-01-0217-51/+262
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@608135 13f79535-47bb-0310-9956-ffa450edef68
* Fixed bug in completion tracking.Gordon Sim2007-12-211-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@606176 13f79535-47bb-0310-9956-ffa450edef68
* Probable fix for QPID-712:Andrew Stitcher2007-12-201-1/+3
| | | | | | | | | Poller::epollToDirection now treats EPOLLERR as equivalent to EPOLLHUP for purposes of indicating a disconnect from the peer on the write side of the connection git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@605982 13f79535-47bb-0310-9956-ffa450edef68
* Fixed to ensure that the correct exchange is used for different modes. ↵Gordon Sim2007-12-201-7/+8
| | | | | | (Previously the default exchange was being used regardless of mode; if a shared test was run followed by e.g. a fanout test the messages would collect in the shared queue which had no listeners and the memroy buildup skewed test results). git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@605888 13f79535-47bb-0310-9956-ffa450edef68
* include fixes from Gordon Sim (fragmentation, lazy-loading, staging) and ↵Nuno Santos2007-12-181-1/+5
| | | | | | Alan Conway (exception handling in the client) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@605289 13f79535-47bb-0310-9956-ffa450edef68
* Fixes to max frame size default and fragmentation on broker.Gordon Sim2007-12-187-8/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@605251 13f79535-47bb-0310-9956-ffa450edef68