summaryrefslogtreecommitdiff
path: root/cpp
Commit message (Collapse)AuthorAgeFilesLines
* Temporarily disable Cluster test while I'm fixing problems with it.Alan Conway2007-06-291-4/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@551985 13f79535-47bb-0310-9956-ffa450edef68
* * Summary:Alan Conway2007-06-2934-312/+651
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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-275-1/+199
| | | | | | | | | | | | | | | 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-2721-202/+126
| | | | | | | | | | | | | | | | | | | 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-274-5/+20
| | | | | | | | | * 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-2716-3/+279
| | | | | | 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-273-20/+19
| | | | 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-2726-684/+508
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-263-13/+14
| | | | | | | | | 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-265-8/+173
| | | | | | | | * 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
* Fix bug in cluster-disabled mode.Alan Conway2007-06-261-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@550775 13f79535-47bb-0310-9956-ffa450edef68
* Missing file from last commitAlan Conway2007-06-261-0/+51
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@550682 13f79535-47bb-0310-9956-ffa450edef68
* 2007-06-25 <aconway@redhat.com>Alan Conway2007-06-2629-117/+909
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added troubleshooting case for ./configureCarl C. Trieloff2007-06-251-0/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@550508 13f79535-47bb-0310-9956-ffa450edef68
* Dummy libcluster.so when openais is not available, keep rpmbuild happy.Alan Conway2007-06-202-4/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@549277 13f79535-47bb-0310-9956-ffa450edef68
* Intermediate checkin with preliminary work on epoll based net IOAndrew Stitcher2007-06-1823-365/+1609
| | | | 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-155-0/+257
| | | | 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-146-11/+11
| | | | | | | "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-148-3/+176
| | | | | | | | | | 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-133-137/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@547016 13f79535-47bb-0310-9956-ffa450edef68
* Examples update, exception handling.Alan Conway2007-06-133-3/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@546995 13f79535-47bb-0310-9956-ffa450edef68
* Example updates from jrobie.Alan Conway2007-06-132-12/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@546858 13f79535-47bb-0310-9956-ffa450edef68
* Various minor fixes to build and test process:Gordon Sim2007-06-134-3/+4
| | | | | | | | | | | * cpp/src/tests/start_broker - removed use of the now invalid --ppid option * cpp/src/tests/Makefile.am - make running of ais tests dependent on inclusion of cluster * cpp/src/Makefile.am - added missing PrivatePosix.h file to dist * cpp/Makefile.am - added examples to list of sub dirs git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@546842 13f79535-47bb-0310-9956-ffa450edef68
* Initial examples directory with jrobies example programs and Makefile.am.Alan Conway2007-06-125-0/+279
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@546612 13f79535-47bb-0310-9956-ffa450edef68
* add libqpidcluster.so to installed libraries.Alan Conway2007-06-121-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@546600 13f79535-47bb-0310-9956-ffa450edef68
* QPID-504: Print bound port if --port 0 is specified. Not yet used by tests.Alan Conway2007-06-116-148/+203
| | | | | | | | | | | | | | | | | * 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
* src/tests/Makefile.am: Fix typo in makefileAlan Conway2007-06-081-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@545570 13f79535-47bb-0310-9956-ffa450edef68
* Add missing scripts to EXTRA_DISTAlan Conway2007-06-081-2/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@545560 13f79535-47bb-0310-9956-ffa450edef68
* Timeout handling for dtx, plus tests.Gordon Sim2007-06-0817-60/+625
| | | | 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-0716-32/+374
| | | | | | | | | - 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-062-4/+3
| | | | 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-0615-7/+915
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@544879 13f79535-47bb-0310-9956-ffa450edef68
* Fixed qpidd --trace flag to be equivalent to "--log.enable trace+"Alan Conway2007-06-061-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@544854 13f79535-47bb-0310-9956-ffa450edef68
* Some tests and fixes for dtx preview.Gordon Sim2007-06-0513-83/+267
| | | | 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-3110-25/+145
| | | | 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-3050-168/+1516
| | | | | | | | | | | | | | | | | * 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-302-6/+3
| | | | 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-2516-8/+333
| | | | 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-2244-658/+1262
| | | | | | | | | | | 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
* * docs/api/Makefile.am: Adding html.timestamp to clean target.Alan Conway2007-05-184-4/+4
| | | | | | | | | * src/Makefile.am: Fixed -I for generated code. * src/tests/Makefile.am: Fixed -I for generated code. * src/qpidd.cpp: Typo in help message. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@539568 13f79535-47bb-0310-9956-ffa450edef68
* Fix RPM explicit dep errorAlan Conway2007-05-181-1/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@539505 13f79535-47bb-0310-9956-ffa450edef68
* Fix make distcheckAlan Conway2007-05-181-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@539446 13f79535-47bb-0310-9956-ffa450edef68