summaryrefslogtreecommitdiff
path: root/cpp/src/qpid
Commit message (Collapse)AuthorAgeFilesLines
* Autodeletable shared queues are now deleted as soon as the consumer count ↵Gordon Sim2007-07-0312-156/+22
| | | | | | | | | | drops to zero (i.e. there is no timeout). This closes QPID-533. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@552751 13f79535-47bb-0310-9956-ffa450edef68
* 2007-06-30 <aconway@redhat.com>Alan Conway2007-07-029-328/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | | * src/qpid/cluster/Cluster.cpp: Refactor - expose 4 handler points for all traffic to/from cluster. Removed HandlerUpdater functionality, separate class. Cluster only deals with membership and connecting the 4 handler points to CPG multicast. * src/tests/cluster.mk: Dropped newgrp ais wrapper scripts, its much simpler if the user just does "newgrp ais" before building. * src/tests/ais_check: Test script to check if users gid is ais and give clear notice if not. * src/tests/Cluster.cpp: Updated for changes to Cluster. * src/qpid/cluster/Cpg.cpp: Better messages for common errors. * Handler.h: Remove nextHandler() minor convenience is outweighted by risk of undetected errors if handlers that expect next() to be set are called when it's not set. * src/qpid/cluster/Cpg.cpp: Added logging. Replaced boost::function with traditional virtual interface (nasty stack traces.) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@552614 13f79535-47bb-0310-9956-ffa450edef68
* Small fixes to enable the --disable-apr-platform build to carry on compilingAndrew Stitcher2007-07-022-6/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@552535 13f79535-47bb-0310-9956-ffa450edef68
* Updated AutoDelete, now only run when auto delete queues exist andCarl C. Trieloff2007-06-295-44/+26
| | | | | | | | | | | | additional auto delete queues being declared. cuts 1-3% of CPU time for concurrent publisher run. Could do with some more auto delete tests... git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@552037 13f79535-47bb-0310-9956-ffa450edef68
* * More work on asychronous network IOAndrew Stitcher2007-06-296-43/+502
| | | | | | | * Fix of current EventQueue code to carry on compiling git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@552001 13f79535-47bb-0310-9956-ffa450edef68
* * Summary:Alan Conway2007-06-2921-238/+571
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Improved plugin framework and HandlerUpdater interface. - Cluster handlers for traffic to/from cluster. - Cluster HandlerUpdater configures channel chains for cluster. - Cluster PluginProvider registers cluster objects with broker. * src/qpid/framing/AMQFrame.h: Made data members public. Handlers need to be able to modify frame data, getters/setters are just a nuisance here. * src/tests/Cluster.cpp: Updated for cluster changes, using handlers instead of friendship to hook test into Cluster code. * src/qpid/framing/amqp_types.h: Added CHANNEL_MAX and CHANNEL_HIGH_BIT constants. * src/qpid/framing/HandlerUpdater.h: Renamed ChannelInitializer, broke dependency on broker channel types. * src/qpid/framing/Handler.h: Added constructors and nextHandler() * src/qpid/framing/AMQFrame.h (class AMQFrame): Inlined getChannel() * src/qpid/cluster/ClusterPluginProvider.cpp: Provider for cluster plugins. * src/qpid/cluster/Cluster.cpp: Use ChannelManager. Factor out plugin details to ClusterPluginProvider. * src/qpid/cluster/ChannelManager.h: Insert cluster handlers into channel chains, route frames between cluster and channels. * src/qpid/broker/BrokerAdapter.cpp (startOk): use CHANNEL_MAX constant. * src/qpid/broker/Broker.cpp: - Refactored for new plugin framework. - Added getUrl(). * src/qpid/Url.h: Added constructor from Address. * src/qpid/Plugin.h: Generalized plugin framework, broke dependency on Broker interfaces. We may want to use plug-ins for clients also at some point. * src/tests/run_test: Fix bug when VALGRIND is not set. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@551981 13f79535-47bb-0310-9956-ffa450edef68
* * src/qpid/broker/Plugin.h: Base class for plug-in objects.Alan Conway2007-06-274-0/+195
| | | | | | | | | | | | | | | Plugins can contribute configuration options and can call extension point functions on the broker. * src/qpid/broker/ChannelInitializer.h: Interface for plug-in objects that want to modify newly created channels, e.g. to modify the handler chains. * src/qpid/broker/Broker.h: Added extension point for plug-ins to contribute ChannelInitializer objects. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@551363 13f79535-47bb-0310-9956-ffa450edef68
* * src/qpid/framing/ChannelAdapter.cpp: Use handler chainsAlan Conway2007-06-2715-117/+112
| | | | | | | | | | | | | | | | | | | for in and outbound frames. * src/qpid/framing/InputHandler.h, OutputHandler.h, FrameHandler.h: All handlers pass AMQFrame& and have consistent memory management. Terminal OutputHandlers used to take ownership and delete frame, now they make a shallow copy instead. * src/qpid/framing/Handler.h, FrameHandler.h: Simplified. * src/qpid/client/ClientConnection.cpp: * src/qpid/broker/Connection.cpp: * src/qpid/broker/BrokerChannel.cpp: Update for ChannelAdapter changes. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@551336 13f79535-47bb-0310-9956-ffa450edef68
* Fixed missing POSIX implementation of Acceptor::getHostAndrew Stitcher2007-06-273-28/+24
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@551327 13f79535-47bb-0310-9956-ffa450edef68
* Fixes and tests:Gordon Sim2007-06-273-5/+4
| | | | | | | | | * ExchangeRegistry::get() caused a pair to be inserted with a 'null' pointer if the xchange didn't exist * HeadersExchange::isBound() didn't check queue param git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@551197 13f79535-47bb-0310-9956-ffa450edef68
* Added preview of exchange- and binding- query methods that have been ↵Gordon Sim2007-06-2715-1/+185
| | | | | | approved for 0-10. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@551144 13f79535-47bb-0310-9956-ffa450edef68
* Fixed client leak and python tests portAlan Conway2007-06-272-19/+18
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@551014 13f79535-47bb-0310-9956-ffa450edef68
* Fix shutdown race in Connector.Alan Conway2007-06-271-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@550996 13f79535-47bb-0310-9956-ffa450edef68
* Make check now starts a broker on a dynamically assigned port, soAlan Conway2007-06-2710-252/+275
| | | | | | | | | | | | | | | | | | | | | | | | | | | | multiple qpid builds on one host will not conflict. * src/tests/run_test, start_broker, kill_broker: Broker writes port to file, run_test sets QPID_PORT in environment of all tests. * src/tests/topic_publisher.cpp, topic_listener.cpp, client_test.cpp: All test clients use TestOptions to parse options from args and env. * src/qpid/Options.h: Renamed from CommonOptions.h Simplified use of Options class. * src/qpid/Url.h: Renamed defaultPort constant. * src/tests/logging.cpp: * src/tests/interop_runner.cpp: * src/tests/TestOptions.h: * src/qpidd.cpp: * src/qpid/log/Options.cpp: * src/qpid/log/Logger.cpp: * src/qpid/broker/Broker.cpp: Updated for changes to Options. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@550993 13f79535-47bb-0310-9956-ffa450edef68
* * src/tests/cluster.mk: Replace sudo with newgrp for ais tests.Alan Conway2007-06-261-1/+3
| | | | | | | | | Skip ais tests with warning if user is not in ais group. * src/tests/Makefile.am: Enable valgrind for all tests. * src/qpid/client/Connector.cpp: Fix memory leak. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@550915 13f79535-47bb-0310-9956-ffa450edef68
* * src/qpid/framing/Handler.h: Tempates for handlers and handler chains.Alan Conway2007-06-262-8/+100
| | | | | | | | * src/qpid/framing/FrameHandler.h: Use Handler.h templates. * src/tests/Handler.cpp: handler chain test. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@550846 13f79535-47bb-0310-9956-ffa450edef68
* 2007-06-25 <aconway@redhat.com>Alan Conway2007-06-2611-18/+567
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cluster class implementing cluster membership map. * src/qpid/cluster/Cluster.cpp: Cluster membership implementation. * src/qpid/cluster/Cpg.cpp: Support for boost::function callbacks. * src/tests/Url.cpp: Implements AMQP-95 URL format. * xml/cluster.xml: Cluster join method. Build/packaging * README: Remove mention of openais till clustering is functional. For now it is optional and we depend on an unpackaged version. * configure.ac: Check openais has cpg_local_get(). * Makefile.am: Added cluster.xml to EXTRA_DIST. * src/generate.sh: add cluster.xml to codegen. * src/tests/Makefile.am: - Generate individual "sudo -u ais" wrappers for openais tests. - Drop "unit" directory, all unit tests in "tests" directory Minor changes: * src/qpid/sys/posix/Socket.cpp: * src/qpid/sys/posix/PosixAcceptor.cpp: * src/qpid/sys/posix/EventChannelAcceptor.cpp: * src/qpid/sys/apr/APRAcceptor.cpp: * src/qpid/sys/Acceptor.h (getHost): Added getHost() * src/tests/.valgrind.supp-default: Suppress benign valgrind warning in libcpg. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@550658 13f79535-47bb-0310-9956-ffa450edef68
* Intermediate checkin with preliminary work on epoll based net IOAndrew Stitcher2007-06-1819-363/+1314
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@548337 13f79535-47bb-0310-9956-ffa450edef68
* Parser for AMQP-95 URLsAlan Conway2007-06-152-0/+196
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@547789 13f79535-47bb-0310-9956-ffa450edef68
* Minor update of log messages.Gordon Sim2007-06-151-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@547726 13f79535-47bb-0310-9956-ffa450edef68
* Fixed catch clauses to catch by const & and use std::exception forAlan Conway2007-06-142-6/+6
| | | | | | | "generic" catches. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@547241 13f79535-47bb-0310-9956-ffa450edef68
* Add ability for a queue to record all bindings to it, such that these can be ↵Gordon Sim2007-06-146-3/+124
| | | | | | | | | | removed when the queue is deleted. Fix to QPID-438 git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@547151 13f79535-47bb-0310-9956-ffa450edef68
* Removed unused files src/qpid/client/ClientAdapter.cpp and .h.Alan Conway2007-06-132-136/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@547016 13f79535-47bb-0310-9956-ffa450edef68
* QPID-504: Print bound port if --port 0 is specified. Not yet used by tests.Alan Conway2007-06-113-72/+90
| | | | | | | | | | | | | | | | | * qpidd.cpp: - With --port 0 print the bound port number to stdout. - Removed --ppid, --check now prints pid. * Daemon.cpp/h: Move pid-file generation to caller (qpidd.cpp) * Exception.cpp: Log a debug message in exception constructors. Helps to show what exceptions were thrown even if they aren't logged at a higher level. * daemon_test: Test new daemon options. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@546180 13f79535-47bb-0310-9956-ffa450edef68
* Handler refactoring notes for cluster.Alan Conway2007-06-111-0/+161
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@546140 13f79535-47bb-0310-9956-ffa450edef68
* Timeout handling for dtx, plus tests.Gordon Sim2007-06-0814-60/+492
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@545531 13f79535-47bb-0310-9956-ffa450edef68
* Build support for clustering, initial CPG wrapper & tests.Alan Conway2007-06-072-0/+184
| | | | | | | | | - src/qpid/cluster/Cpg.cpp: C++ wrapper for the openais CPG library. - src/tests/unit/Cpg.cpp: verify CPG functions in make check. - makefiles etc.: build cluster stuff only if openais is installed. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@545190 13f79535-47bb-0310-9956-ffa450edef68
* Made FieldTable argument of client::Channel::bind() optional.Alan Conway2007-06-061-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@544938 13f79535-47bb-0310-9956-ffa450edef68
* Merged in channel.flow implementation and interoperability tests.Gordon Sim2007-06-064-6/+21
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@544879 13f79535-47bb-0310-9956-ffa450edef68
* Some tests and fixes for dtx preview.Gordon Sim2007-06-0511-79/+263
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@544522 13f79535-47bb-0310-9956-ffa450edef68
* Updates to dtx support.Gordon Sim2007-05-318-24/+142
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@543182 13f79535-47bb-0310-9956-ffa450edef68
* Logging infrastructure: See qpidd --long-help for details.Alan Conway2007-05-3039-107/+932
| | | | | | | | | | | | | | | | | * src/qpid/log/*: Logging infrastructure, QPID_LOG macro. * src/*: changed output to cout/cerr to logging. * src/qpidd.cpp: logging options. * src/tests/Makefile.am: fixed issues with valgrind * src/tests/kill|start_broker: use broker daemon options. * src/tests/run_test: run tests in valgrind. Disabled till leaks in client_test are fixed. * src/test/unit/logging.cpp: Logging unit test using boost test framework. Eventually we should move all unit tests to boost & drop CppUnit. * src/test/unit/test_tools.h: useful extensions to boost framework: Regular expression check, ostream << for vectors. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@542855 13f79535-47bb-0310-9956-ffa450edef68
* Remove dummy class defs.Gordon Sim2007-05-301-4/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@542791 13f79535-47bb-0310-9956-ffa450edef68
* Include new dtx classes in generated code.Gordon Sim2007-05-301-5/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@542768 13f79535-47bb-0310-9956-ffa450edef68
* Ensure work is marked completed when recovered.Gordon Sim2007-05-252-8/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@541689 13f79535-47bb-0310-9956-ffa450edef68
* Added support for recovering prepared transactions.Gordon Sim2007-05-2515-8/+328
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@541619 13f79535-47bb-0310-9956-ffa450edef68
* * Split apart platform (threading etc.) from network ioAndrew Stitcher2007-05-2238-615/+1171
| | | | | | | | | | | you can now use a posix platform implementation by configuring --disable-apr-platform * Changed Time classes to distinguish between absolute times (AbsTime) and durations (Duration). This should avoid bugs caused by confusing the two types of time. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@540608 13f79535-47bb-0310-9956-ffa450edef68
* Temporary hack to the logic used in parsing environment options to avoid ↵Gordon Sim2007-05-211-1/+2
| | | | | | treating QPID_DIR (used in external modules) from being treated as an (invalid) option 'dir'. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@540108 13f79535-47bb-0310-9956-ffa450edef68
* Added back -s short option for store lib.Gordon Sim2007-05-211-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@540097 13f79535-47bb-0310-9956-ffa450edef68
* Changes to support durable exchanges.Gordon Sim2007-05-1724-60/+332
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@538872 13f79535-47bb-0310-9956-ffa450edef68
* Recorded merge of revisions 536279 via svnmerge from Alan Conway2007-05-081-1/+1
| | | | | | | | | | | | | | https://svn.apache.org/repos/asf/incubator/qpid/branches/M2 ........ r536279 | aconway | 2007-05-08 14:09:35 -0400 (Tue, 08 May 2007) | 3 lines * lib/broker/Daemon.cpp: Fixed bug causing qpidd -c to sometmes delete the pidfile. ........ git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@536285 13f79535-47bb-0310-9956-ffa450edef68
* Moved parseOptions from qipdd to CommonOptions where it can be re-used.Alan Conway2007-05-012-1/+36
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@534226 13f79535-47bb-0310-9956-ffa450edef68
* Resolves: QPID-298, QPID-304: qpidd flags to control broker daemon.Alan Conway2007-04-302-0/+235
| | | | | | | | | | | | | | | | | | | * README: added new dependency, libdaemon. * qpidc.spec.in: libdaemon dependencies. * broker/Daemon.h|cpp: Daemon and pid file management, wrapper for libdaemon. * qpidd.cpp modifid flags -d [ --daemon ] - waits till deamon is listening before returning. * qpidd.cpp: new flags -q [ --quit ] Stop the running daemon politely. -k [ --kill ] Kill the running daemon harshly. -c [ --check ] If daemon is running return 0. --wait SECONDS (=10) Maximum wait for daemon response. --ppid Print daemon pid to stdout * tests/dameon_test: Test daemon startup, shutdown. * test_env: minor fix. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@533828 13f79535-47bb-0310-9956-ffa450edef68
* * Make APR/"posix" configurable using --disable-aprAndrew Stitcher2007-04-261-1/+1
| | | | | | | | * Make "posix" code build (but not run correctly) * By default still build APR version, which works as before git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@532543 13f79535-47bb-0310-9956-ffa450edef68
* Added environment variables as a source of Qpid configuration.Alan Conway2007-04-252-0/+25
| | | | | | | | Option "foo-bar" will be read from env. QPID_FOO_BAR if not specified on command line. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@532491 13f79535-47bb-0310-9956-ffa450edef68
* * qpid/CommonOptions.h:Alan Conway2007-04-258-449/+194
| | | | | | | | | | | | | - Convenience classs/functions to use boost::program_options. - CommonOptions class for options common to client/broker. * qpid/broker/Broker.h: - Replaced broker::Configuration with class Broker::Options, derived from CommonOptions. * qpidd.cpp: Updated options handling. * qpid/Exception.h: Added strError function to get std::string from errno. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@532430 13f79535-47bb-0310-9956-ffa450edef68
* Added some dtx related unit testsGordon Sim2007-04-207-22/+88
| | | | | | | | Added support for suspend and resume git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@530853 13f79535-47bb-0310-9956-ffa450edef68
* Some dtx related updates.Gordon Sim2007-04-1917-61/+675
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@530500 13f79535-47bb-0310-9956-ffa450edef68
* * qpidc.spec.in: bump RPM revision for bugfix.Alan Conway2007-04-161-5/+6
| | | | | | | | * src/qpid/framing/Correlator.cpp: Fix memory bug in correlator. * src/tests/Makefile.am: Re-enable ClientChannelTest, bug fixed. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@529397 13f79535-47bb-0310-9956-ffa450edef68
* Fixes QPID-303 and QPID-409.Gordon Sim2007-04-164-17/+53
| | | | | | | | | * qpid/client/Connector: atomic test-and-set for closed, don't try to close if already closed * qpid/client/Connection: atomic test-and-set for isOpen, don't send requests to broker on shutdown git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@529209 13f79535-47bb-0310-9956-ffa450edef68