summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Queue.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Changes to threading: queues serialiser removed, io threads used to drive ↵Gordon Sim2007-11-291-164/+127
| | | | | | | | | | dispatch to consumers Fix to PersistableMessage: use correct lock when accessing synclist, don't hold enqueue lock when notifying queues git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@599395 13f79535-47bb-0310-9956-ffa450edef68
* Switched all regular PersistentMessage* and PersistentMessage& to ↵Kim van der Riet2007-11-261-2/+6
| | | | | | intrusive_ptr<PersistentMessage>, so as to hook into the refcount for a message while it is in the store. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@598440 13f79535-47bb-0310-9956-ffa450edef68
* QPID-689 from tross@redhat.com.Alan Conway2007-11-231-23/+46
| | | | | | | | This patch introduces formal schema specification for management and code generation for management classes. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@597662 13f79535-47bb-0310-9956-ffa450edef68
* Fixes causing lost 'events' in queue dispatchGordon Sim2007-11-191-14/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@596277 13f79535-47bb-0310-9956-ffa450edef68
* Replaced shared_ptr with intrusive_ptr for qpid::Broker::Message.Alan Conway2007-11-141-7/+7
| | | | | | | Gives 9% reduction in broker heap use (perftest --count 100000.) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@595056 13f79535-47bb-0310-9956-ffa450edef68
* - fixed sync mode deadlockCarl C. Trieloff2007-11-131-6/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@594655 13f79535-47bb-0310-9956-ffa450edef68
* Patch QPID-680 from trossCarl C. Trieloff2007-11-131-7/+35
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@594364 13f79535-47bb-0310-9956-ffa450edef68
* - enable the ability to lazy load from async storeCarl C. Trieloff2007-11-081-4/+4
| | | | | | | | | | - the ci has a raw ptr for Queue in QueuedMessage, if any has any concerns, ping me and I will convert it to an auto_ptr Carl. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@593251 13f79535-47bb-0310-9956-ffa450edef68
* Exception handling for dispatch functorGordon Sim2007-11-081-0/+15
| | | | | | | | Don't dequeue no-ack messages unless they have been acquired git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@593212 13f79535-47bb-0310-9956-ffa450edef68
* Ensure browsers are always serviced on the serializers dispatch thread to ↵Gordon Sim2007-11-081-1/+2
| | | | | | avoid concurrent servicing threads interfering with each other. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@593112 13f79535-47bb-0310-9956-ffa450edef68
* Fix client side core dump when disconneced unexpectedly:Alan Conway2007-10-311-0/+1
| | | | | | | | | | | | | | void qpid::client::SessionCore::invariant() const: Assertion Minor items: src/qpid/broker/Queue.cpp: info log for each message dispatched. src/qpid/broker/SessionHandler.cpp: check attached in handleOut() src/qpid/sys/Dispatcher.cpp: use polymorphic_downcast to catch cast errors in debug builds. src/qpid/client/SessionCore.cpp: fix incorrect asserts src/qpid/client/Message.h: convenience constructor parameters git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@590688 13f79535-47bb-0310-9956-ffa450edef68
* - QPID-667Carl C. Trieloff2007-10-311-31/+31
| | | | | | | | | - for Ted Ross - built and tested. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@590523 13f79535-47bb-0310-9956-ffa450edef68
* Session resume support in client & broker: Client can resume a sessionAlan Conway2007-10-261-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | after voluntary suspend() or network failure. Frames lost in network failure are automatically re-transmitted for transparent re-connection. client::Session improvements: - Locking to avoid races between network & user threads. - Replaced client::StateManager with sys::StateMonitor - avoid heap allocation. qpid::Exception clean up: - use QPID_MSG consistently to format exception messages. - throw typed exceptions (in reply_exceptions.h) for AMQP exceptions. - re-throw correct typed exception on client for exceptions from broker. - Removed QpidError.h rubygen/templates/constants.rb: - constants.h: Added FOO_CLASS_ID and FOO_BAR_METHOD_ID constants. - reply_constants.h: Added throwReplyException(code, text) log::Logger: - Fixed shutdown race in Statement::~Initializer() git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@588761 13f79535-47bb-0310-9956-ffa450edef68
* - added patch from TeddCarl C. Trieloff2007-10-261-0/+7
| | | | | | | | - QPID-660 git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@588478 13f79535-47bb-0310-9956-ffa450edef68
* Fixes to handling of non-acquired subscribersGordon Sim2007-10-251-4/+15
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@588286 13f79535-47bb-0310-9956-ffa450edef68
* Hack for no-local when used with jms topicsGordon Sim2007-10-231-21/+82
| | | | | | | | Fix for releasing of exclusive ownership of queues second time around git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@587525 13f79535-47bb-0310-9956-ffa450edef68
* - removed debug coutCarl C. Trieloff2007-10-231-1/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@587485 13f79535-47bb-0310-9956-ffa450edef68
* - flush async IO if present on sync for 0-10Carl C. Trieloff2007-10-231-2/+3
| | | | | | | | | - notify, for ack from sync for 0-10 - use of raw pointer, to avoid recursive fre git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@587332 13f79535-47bb-0310-9956-ffa450edef68
* QPID-651 applied patch from TedCarl C. Trieloff2007-10-191-1/+22
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@586578 13f79535-47bb-0310-9956-ffa450edef68
* Fix to allocation algorithm in queue: prevents infinite loop when first ↵Gordon Sim2007-10-191-5/+10
| | | | | | | | | | consumer for allocation is cancelled after starting to dispatch a particular method. Removed alarming(!) log statement. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@586519 13f79535-47bb-0310-9956-ffa450edef68
* Fix for QPID-644Gordon Sim2007-10-181-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@585899 13f79535-47bb-0310-9956-ffa450edef68
* Use shared pointers for consumers (held by queues and sessions) to prevent ↵Gordon Sim2007-10-171-13/+24
| | | | | | | | | | having to hold lock across deliver() while avoiding invocation on stale pointers. Ensure auto-deleted queues are properly cleaned up (i.e. are unbound from exchanges) to avoid leaking memory as messages are accumulated in inaccessible queues. (some cleanup to follow on this) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@585417 13f79535-47bb-0310-9956-ffa450edef68
* Implementation of 0-10 field tablesAndrew Stitcher2007-10-161-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@585097 13f79535-47bb-0310-9956-ffa450edef68
* * Revised allocation algorithm to ensure all consumers are given the ↵Gordon Sim2007-10-161-3/+8
| | | | | | | | | | | opportunity to consume a message * If already have infinit credit, don't try to add to it * If get disconnected while processing close, just finish off the close and don't signal the disconnection git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@585085 13f79535-47bb-0310-9956-ffa450edef68
* Further fixes to locking between queue and semantic state to avoid deadlocking.Gordon Sim2007-10-121-12/+21
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@584172 13f79535-47bb-0310-9956-ffa450edef68
* Some fixes to locking within the queue (preventing locks being held during ↵Gordon Sim2007-10-121-36/+31
| | | | | | delivery to a consumer) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@584144 13f79535-47bb-0310-9956-ffa450edef68
* Added some debug logs to indicate credit levels and verify if a message is ↵Rajith Muditha Attapattu2007-10-091-0/+1
| | | | | | | | | enqueued. I found it useful during testing git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@583253 13f79535-47bb-0310-9956-ffa450edef68
* Renamed the following files for consistency:Alan Conway2007-09-251-0/+434
| | | | | | | | | | | | | | | | | | broker/BrokerExchange.cpp -> Exchange.cpp broker/BrokerExchange.h -> Exchange.h broker/BrokerQueue.cpp -> Queue.cpp broker/BrokerQueue.h -> Queue.h client/ClientChannel.cpp -> Channel.cpp client/ClientChannel.h -> Channel.h client/ClientConnection.cpp -> Connection.cpp client/ClientExchange.cpp -> Exchange.cpp client/ClientExchange.h -> Exchange.h client/ClientMessage.h -> Message.h client/ClientQueue.cpp -> Queue.cpp client/ClientQueue.h -> Queue.h git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@579340 13f79535-47bb-0310-9956-ffa450edef68
* 2006-12-01 Jim Meyering <meyering@redhat.com>Alan Conway2006-12-011-202/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This delta imposes two major changes on the C++ hierarchy: - adds autoconf, automake, libtool support - makes the hierarchy flatter and renames a few files (e.g., Queue.h, Queue.cpp) that appeared twice, once under client/ and again under broker/. In the process, I've changed many #include directives, mostly to remove a qpid/ or qpid/framing/ prefix from the file name argument. Although most changes were to .cpp and .h files under qpid/cpp/, there were also several to template files under qpid/gentools, and even one to CppGenerator.java. Nearly all files are moved to a new position in the hierarchy. The new hierarchy looks like this: src # this is the new home of qpidd.cpp tests # all tests are here. See Makefile.am. gen # As before, all generated files go here. lib # This is just a container for the 3 lib dirs: lib/client lib/broker lib/common lib/common/framing lib/common/sys lib/common/sys/posix lib/common/sys/apr build-aux m4 git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@481159 13f79535-47bb-0310-9956-ffa450edef68
* Posix EventChannel implementation using epoll. Placeholder for kevents.Alan Conway2006-11-291-3/+3
| | | | | | | | Dynamic thread pool EventChannelThreads to serve EventChannel. Misc cleanup/enhancements. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@480582 13f79535-47bb-0310-9956-ffa450edef68
* Minor modifications for recovery and debug.Gordon Sim2006-11-161-4/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@475753 13f79535-47bb-0310-9956-ffa450edef68
* update Apache licenses to the current versionStephen Vinoski2006-11-101-13/+16
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@473568 13f79535-47bb-0310-9956-ffa450edef68
* Added POSIX equivalents to APR classes used by clients, inlined trivial calls.Alan Conway2006-11-091-6/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@473087 13f79535-47bb-0310-9956-ffa450edef68
* Added some encode/decode routines to Message (plus test).Gordon Sim2006-11-091-0/+5
| | | | | | | | Altered Buffer to allow memory for data to be specified on construction. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@472850 13f79535-47bb-0310-9956-ffa450edef68
* More reorg to separate APR/posix code, work in progress.Alan Conway2006-11-081-13/+13
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@472545 13f79535-47bb-0310-9956-ffa450edef68
* Made passing of transaction context in message store explicit (to avoid ↵Gordon Sim2006-11-071-8/+11
| | | | | | thread local storage in case this doesn't fit with new io design). git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@472067 13f79535-47bb-0310-9956-ffa450edef68
* Minor source reorg, see README.Alan Conway2006-11-061-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@471789 13f79535-47bb-0310-9956-ffa450edef68
* Added some methods to MessageStore interface and hooked these in where ↵Gordon Sim2006-11-031-4/+17
| | | | | | appropriate. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@470810 13f79535-47bb-0310-9956-ffa450edef68
* Moved APR specific sources into src_apr.Alan Conway2006-11-011-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@469738 13f79535-47bb-0310-9956-ffa450edef68
* IO refactor phase 1. Reduced dependencies, removed redundant classes.Alan Conway2006-10-311-1/+1
| | | | | | | Renamed pricipal APR classes in preparation for move to apr namespace. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@469625 13f79535-47bb-0310-9956-ffa450edef68
* Some additional unit tests.Gordon Sim2006-10-311-4/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@469471 13f79535-47bb-0310-9956-ffa450edef68
* Initial implementation for tx class.Gordon Sim2006-10-301-1/+25
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@469242 13f79535-47bb-0310-9956-ffa450edef68
* Renamed unit tests to follow naming conventions, fixed some #include ↵Alan Conway2006-10-161-2/+2
| | | | | | inconsistencies. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@464503 13f79535-47bb-0310-9956-ffa450edef68
* Build system reorg, see README and Makefile comments for details.Alan Conway2006-10-161-0/+155
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@464494 13f79535-47bb-0310-9956-ffa450edef68