summaryrefslogtreecommitdiff
path: root/cpp/src
Commit message (Collapse)AuthorAgeFilesLines
* Patch from https://issues.apache.org/jira/browse/QPID-722 by Ted Ross:Alan Conway2008-01-076-11/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* patch-715 (tross)Carl C. Trieloff2008-01-0216-48/+258
| | | | 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
* 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
* * Limited time allowed for reading on a single connection in a single go to 2msAndrew Stitcher2007-12-173-16/+59
| | | | | | | | * Limit bytes allowed to be written on a connection on a single go to the max ever read * Small performance fix for appending to FrameSets git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604983 13f79535-47bb-0310-9956-ffa450edef68
* Add log message when broker closes connectionGordon Sim2007-12-171-1/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604947 13f79535-47bb-0310-9956-ffa450edef68
* Fixed fragmentation (content bodies were 1 byte smaller than they could be ↵Gordon Sim2007-12-171-1/+1
| | | | | | due to including end of frame marker in the overhead) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604823 13f79535-47bb-0310-9956-ffa450edef68
* Changed to use the new session api, made size and max-frame-size configurable.Gordon Sim2007-12-171-74/+83
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604821 13f79535-47bb-0310-9956-ffa450edef68
* Fix sequence numbers and sequence checks in perftest.Alan Conway2007-12-141-17/+18
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604272 13f79535-47bb-0310-9956-ffa450edef68
* Updated tests expectations inline with recent change to default logging outputGordon Sim2007-12-141-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604244 13f79535-47bb-0310-9956-ffa450edef68
* Log to stderr by defaultAlan Conway2007-12-141-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604232 13f79535-47bb-0310-9956-ffa450edef68
* Some fixes for 'flow to disk' (i.e. dropping message content from memory, ↵Gordon Sim2007-12-147-7/+22
| | | | | | and loading it from disk for delivery) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604215 13f79535-47bb-0310-9956-ffa450edef68
* Changed --store to --store-lib as a simple way to avoid confusing the ↵Gordon Sim2007-12-141-1/+1
| | | | | | | | | options parser. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604205 13f79535-47bb-0310-9956-ffa450edef68
* Allow the queue policy to be set through command line optionsGordon Sim2007-12-141-7/+16
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604170 13f79535-47bb-0310-9956-ffa450edef68
* Only release content for durable queues.Gordon Sim2007-12-142-10/+18
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604169 13f79535-47bb-0310-9956-ffa450edef68
* Handle exceptions while doing 'output' for the connection (i.e. message ↵Gordon Sim2007-12-141-1/+8
| | | | | | delivery) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604167 13f79535-47bb-0310-9956-ffa450edef68
* perftest:Alan Conway2007-12-132-31/+42
| | | | | | | | | | | - changed default message size to 1024 - made --pub-confirm=true the default for accurate publish rates. - added Mbytes/sec rate to results perfdist: takes a single host list for publishr and subscriber clients. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604022 13f79535-47bb-0310-9956-ffa450edef68
* Some fixes relating to message 'staging'.Gordon Sim2007-12-137-11/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603973 13f79535-47bb-0310-9956-ffa450edef68
* Updated valgrind suppressions for F8.Alan Conway2007-12-121-25/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603724 13f79535-47bb-0310-9956-ffa450edef68
* src/qpid/InlineAllocator.h: Removed cast, causing problems on alpha platform.Alan Conway2007-12-122-8/+4
| | | | | | | src/tests/unit_test.h: Added missing #include <boost/version.hpp> git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603719 13f79535-47bb-0310-9956-ffa450edef68
* Fixed deadlock on connection closeGordon Sim2007-12-122-3/+15
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603551 13f79535-47bb-0310-9956-ffa450edef68
* Fixed client crash on error opening a connection.Alan Conway2007-12-112-5/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603411 13f79535-47bb-0310-9956-ffa450edef68
* Change Broker::getPort() return type to uint16_t (was int16_t)Alan Conway2007-12-112-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603344 13f79535-47bb-0310-9956-ffa450edef68
* src/tests/ClientSessionTest.cpp: Disabled hanging test: testDisconnectResume. Alan Conway2007-12-113-55/+50
| | | | | | | | src/tests/SocketProxy.h: fixed exception handling. src/tests/exception_test.cpp: fixed compile error. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603273 13f79535-47bb-0310-9956-ffa450edef68
* Improved exception message for messages out-of-order.Alan Conway2007-12-101-5/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603047 13f79535-47bb-0310-9956-ffa450edef68
* Added missing trailing \ to Makefile.am - the cause of the cruisecontrol ↵Kim van der Riet2007-12-101-1/+1
| | | | | | build failure git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603043 13f79535-47bb-0310-9956-ffa450edef68
* Patches from Ted Ross <tross@redhat.com>Alan Conway2007-12-102-2/+9
| | | | | | | | | | | | | | | | | | | QPID-697 Fixed access-rights constants for management schema. Added mutex to fix problems associated with concurrent invocation of accessors for queue statistics. Removed queue schema content that is not relevant to QPID. QPID-698 This patch creates a new subdirectory in python called "mgmt-cli". python/mgmt-cli/main.py can be executed from the shell. If no arguments are supplied, it attempts to connect to the broker at localhost:5672. The first argument is the hostname for the target broker and the second (optional) argument is the TCP port (defaults to 5672). It is assumed that the AMQP spec file is in the following location: /usr/share/amqp/amqp.0-10-preview.xml It is also required that the qpid/python directory be in the PYTHONPATH environment variable. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603034 13f79535-47bb-0310-9956-ffa450edef68
* src/tests/SocketProxy.h: proxy between local client & server to simulate ↵Alan Conway2007-12-106-43/+108
| | | | | | | | | | | network disconnect. src/qpid/client/Connector.h: remove friend hack for previous flawed disconnect approach. src/tests/BrokerFixture.h: "" src/tests/ClientSessionTest.cpp, exception_test.cpp: use ProxyConnection git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@602980 13f79535-47bb-0310-9956-ffa450edef68
* src/tests/Makefile.am: Add BrokerFixture.h to sourc listsAlan Conway2007-12-071-1/+1
| | | | | | | examples/Makefile.am: Fix typo. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@602239 13f79535-47bb-0310-9956-ffa450edef68
* Summary:Alan Conway2007-12-0722-130/+380
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced InProcessBroker with BrokerFixture, uses a full loopback broker for more realistic tests. - Extracted non-generated parts of Session_0_10 into SessionBase. - Sundry small fixes. src/tests/BrokerFixture.h - in process broker with loopback connections. - tests can force a disorderly disconnect. src/qpid/client/Connector.h - back door to private members for BrokerFixture. - close() in destructor to avoid leaks. src/qpid/client/ConnectionImpl.h,cpp: - close() in destructor, to fix hang when destroyed without being closed. src/qpid/client/CompletionTracker.h,.cpp: - Fixed race in close/add. src/qpid/client/SessionBase.h,cpp: - Extracted all non-generated code from Session_0_10 into SessionBase - Added sync() src/tests/exception_test.cpp: Converted to boost & BrokerFixture src/tests/ClientChannelTest.cpp, ClientSessionTest.cpp: Use BrokerFixture git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@602182 13f79535-47bb-0310-9956-ffa450edef68
* Further use of get_pointer function to mask differences between boost versions.Gordon Sim2007-12-071-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@602103 13f79535-47bb-0310-9956-ffa450edef68
* Changed to use the get_pointer function for compatability with boost 1.33 ↵Gordon Sim2007-12-071-2/+4
| | | | | | and 1.34 git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@602063 13f79535-47bb-0310-9956-ffa450edef68
* From Ted Ross <tross@redhat.com>Alan Conway2007-12-0624-129/+501
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Queue statistics fixed. Additional objects added (exchange, binding). Changes: M cpp/src/qpid/broker/ExchangeRegistry.h M cpp/src/qpid/broker/ExchangeRegistry.cpp ExchangeRegistry was modified to pass a parent pointer to created exchanges. This parent reference is not stored but is used to link management objects in a hierarchy of ownership. M cpp/src/qpid/broker/Exchange.h M cpp/src/qpid/broker/Exchange.cpp Exchange now inherits Manageable to make it visible via the management interface. The Exchange parent class handles most of the management boilerplate. A Binding struct was introduced to track bindings for management. This is separate from QueueBindings which track bindings for queues. M cpp/src/qpid/broker/HeadersExchange.h M cpp/src/qpid/broker/FanOutExchange.h M cpp/src/qpid/broker/DirectExchange.h M cpp/src/qpid/broker/TopicExchange.h M cpp/src/qpid/broker/HeadersExchange.cpp M cpp/src/qpid/broker/FanOutExchange.cpp M cpp/src/qpid/broker/DirectExchange.cpp M cpp/src/qpid/broker/TopicExchange.cpp M cpp/src/qpid/management/ManagementExchange.cpp M cpp/src/qpid/management/ManagementExchange.h Each exchange type handles management stats in its own specific way. Additionally, the constructors pass the management parent pointer to the constructor or Exchange. An extra layer was added to contain bindings. Instead of directly storing bound queues, the exchanges store "bindings" which are managable constructs. M cpp/src/qpid/broker/Broker.cpp Broker now explicitly enables the management agent. Also sets the management parent (vhost) in the exchange registry. M cpp/src/qpid/broker/Vhost.cpp Updated constructor to be more defensive in case the management agent has not been enabled. M cpp/src/qpid/broker/Queue.cpp Same constructor update as vhost. Moved accounting of dequeues into "pop". Implemented management method handler (purge). M cpp/src/qpid/broker/Deliverable.h A new method was added to extract the content size of the deliverable content (if appropriate). The method is not pure virtual and returns zero if not overridden. M cpp/src/qpid/broker/DeliverableMessage.h M cpp/src/qpid/broker/TxPublish.cpp M cpp/src/qpid/broker/DeliverableMessage.cpp M cpp/src/qpid/broker/TxPublish.h These derivatives of Deliverable were updated with overrides for contenSize. M cpp/src/qpid/management/ManagementAgent.h M cpp/src/qpid/management/ManagementAgent.cpp An "enable" method was added to prevent inadvertent creation of a management agent when not desired. Adding and deleting management objects is now protected by a mutex. Make sure that deleted objects get reported even if neither their configuration nor instrumentation is changed. M specs/management-schema.xml Minor cosmetic updates. Additional parent linkage. M cpp/managementgen/schema.py M cpp/managementgen/templates/Class.cpp Added generated code to publish schema details for methods. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@601807 13f79535-47bb-0310-9956-ffa450edef68
* Removed redundant TimerA, use intrusive_ptr for Timer.Alan Conway2007-12-067-166/+41
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@601803 13f79535-47bb-0310-9956-ffa450edef68
* Extra exception info.Alan Conway2007-12-051-3/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@601457 13f79535-47bb-0310-9956-ffa450edef68
* Avoid holding lock while making the flush calls (can cause deadlocking)Gordon Sim2007-12-051-5/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@601391 13f79535-47bb-0310-9956-ffa450edef68
* Fixed problems with setting pub/sub hosts.Alan Conway2007-12-051-19/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@601381 13f79535-47bb-0310-9956-ffa450edef68
* Fixed errors in usage text.Alan Conway2007-12-051-6/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@601352 13f79535-47bb-0310-9956-ffa450edef68
* examples/Makefile.am:Alan Conway2007-12-041-1/+2
| | | | | | | | | | - installcheck target builds installed examples. - Automatically run by rpmbuild and distcheck targets. rubygen/generate: fixed packaging error in rubygen.mk src/Makefile.am: fixed packaging error. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@601125 13f79535-47bb-0310-9956-ffa450edef68
* Added options to broker for journal file size. Also brought back exception ↵Kim van der Riet2007-12-047-30/+44
| | | | | | copying in MessageStoreModue to prevent exceptions thrown in the store lib causing cores when handled in qpidd.cpp. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@601099 13f79535-47bb-0310-9956-ffa450edef68
* Patch from Ted Ross <tross@redhat.com>Alan Conway2007-12-041-1/+2
| | | | | | | | | | I've been doing some work in TopicExchange and noticed an opportunity for optimization of the route method. The current code does a heap allocation per binding, per message. The optimization removes the per-binding allocation. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@601051 13f79535-47bb-0310-9956-ffa450edef68
* Log exception when prepare fails.Gordon Sim2007-12-041-0/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@600985 13f79535-47bb-0310-9956-ffa450edef68
* Remove start(); not yet safe to send commands while dispatcher is running ↵Gordon Sim2007-12-042-8/+0
| | | | | | concurrently. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@600984 13f79535-47bb-0310-9956-ffa450edef68