summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/SemanticState.cpp
Commit message (Collapse)AuthorAgeFilesLines
* cluster: fix delivery-property.exchange-name set on updated messages.Alan Conway2009-03-051-12/+4
| | | | | | | | | Logging improvements, useful for debugging: - qpid/SessionState.cpp: show frame bodies with command IDs. - assign cluster-wide id number to each Event. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@750456 13f79535-47bb-0310-9956-ffa450edef68
* Fix for bug in credit reallocation, along with test from rafaels@redhat.com ↵Gordon Sim2009-02-251-2/+4
| | | | | | that reproduces it. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@747833 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1660: If selected consumer can't take a message, ensure others are ↵Gordon Sim2009-02-121-2/+12
| | | | | | notified of message availability. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@743694 13f79535-47bb-0310-9956-ffa450edef68
* Cluster support for message time-to-live.Alan Conway2009-02-091-6/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@742774 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1567: added 'exactly-once' guarantee to asynchronous replication of ↵Gordon Sim2009-01-201-4/+8
| | | | | | | | | | | | queue state * altered replication protocol to detect and eliminate duplicates * added support for acknowledged transfer over inter-broker bridges * added option to qpid-route to control this git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@736018 13f79535-47bb-0310-9956-ffa450edef68
* * QPID-1488: test that policy pointer is setGordon Sim2008-11-271-2/+3
| | | | | | | | | * don't flow to disk for null store implementation * add checks for undeflow in queue policy git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@721166 13f79535-47bb-0310-9956-ffa450edef68
* Cluster: replicate transaction state to newcomers.Alan Conway2008-11-051-1/+1
| | | | | | | | | | | | | constants.rb: generate type code constants for AMQP types. Useful with Array. framing/Array: - added some std:::vector like functions & typedefs. - use TypeCode enums, human readable ostream << operator. rubygen - fixed error in generation of exceptions for bad codes. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@711587 13f79535-47bb-0310-9956-ffa450edef68
* Adjust ACL-related enums to avoid Windows macro clashes; fixes QPID-1368Stephen D. Huston2008-10-301-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@709283 13f79535-47bb-0310-9956-ffa450edef68
* Revised transactional options to perftest as they could not be used on older ↵Gordon Sim2008-10-241-14/+2
| | | | | | | | | | boost versions due to ambiguity. Refactored TxAccept to avoid excessive testing and searching for delivery records. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@707615 13f79535-47bb-0310-9956-ffa450edef68
* Minor changes to provide access for cluster to replicate delivery records.Alan Conway2008-10-231-1/+1
| | | | | | | | | - broker::Queue: find message by position, set position. - broker::SemanticState: make record() public, add eachUnacked(), fix typo "NotifyEnabld" - broker::DeliveryRecord: added more public accessors git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@707406 13f79535-47bb-0310-9956-ffa450edef68
* Refactored DeliveryRecord and delivery path to remove some redundant code.Gordon Sim2008-10-211-18/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@706811 13f79535-47bb-0310-9956-ffa450edef68
* cluster: DumpClient updates consumer notifyEnabled and blocked.Alan Conway2008-10-201-0/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@706293 13f79535-47bb-0310-9956-ffa450edef68
* Added missing message.subscribe arguments to SemanticState::ConsumerImpl for ↵Alan Conway2008-10-161-10/+20
| | | | | | replication (and future use.) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@705359 13f79535-47bb-0310-9956-ffa450edef68
* c++ broker: Don't hold on to delivery records for accepted/released messages ↵Gordon Sim2008-10-151-15/+1
| | | | | | | | | | unless required due to being in windowing mode. python client: Modified start() on incoming queue to setthe flow mode as credit (not windowing) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@704838 13f79535-47bb-0310-9956-ffa450edef68
* Handle ttl in messages transfers received by the broker 7 added test for itGordon Sim2008-10-101-4/+11
| | | | | | | | Moved Timer instance from DtxManager to Broker so it can be shared git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@703521 13f79535-47bb-0310-9956-ffa450edef68
* This adds the user_id checking described in QPID-943.Rajith Muditha Attapattu2008-09-251-2/+14
| | | | | | | | If a user_id is supplied in message properties it will be checked against the id used for authentication. This check is disabled for federation links. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@699047 13f79535-47bb-0310-9956-ffa450edef68
* Corrected a careless mistake I made on an earlier commit.Gordon Sim2008-09-241-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@698615 13f79535-47bb-0310-9956-ffa450edef68
* Removed redundant code.Alan Conway2008-09-221-14/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@697834 13f79535-47bb-0310-9956-ffa450edef68
* Refactoring of queue/queue-policy:Gordon Sim2008-09-211-1/+1
| | | | | | | | | | | | - moved some logic out of Queue.cpp into QueuePolicy.cpp - moved QueuedMessage definition into its own header file - added checks for requeue and dequeue - split QueuePolicy logic into different sub classes Added ability to request old messages to be discareded to make room for new ones when configured limit has been reached. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@697603 13f79535-47bb-0310-9956-ffa450edef68
* Cluster support for copying shared broker state to new members.Alan Conway2008-09-101-6/+7
| | | | | | | | | | | | cluster/DumpClient: Copies broker shared state to a new broker via AMQP. broker/*Registry, Queue, QueueBindings: Added iteration functions for DumpClient broker/SemanticState.cpp: Allow DumpClient to sidestep setting of delivery-properties.exchange. client/Connection.h: Added Connection::open(Url) overload. client/SessionImpl: Added send(AMQBody, FrameSet) overload for forwarding broker messages. tests/cluster_test.cpp: Added test for DumpClient copying shared state between brokers. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@693918 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1261: initial fix (this degrades performance for shared queues with ↵Gordon Sim2008-09-091-22/+53
| | | | | | more than one consumer; I'll work on fixing that asap). This also moves the lock refered to in QQPID-1265 which I will update accordingly. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@693518 13f79535-47bb-0310-9956-ffa450edef68
* Patch from Gordon Sim to fix issues with hasOutput implementation.Alan Conway2008-08-071-2/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@683617 13f79535-47bb-0310-9956-ffa450edef68
* - Added OutputTask::hasOutput() test.Alan Conway2008-08-061-0/+5
| | | | | | | - Cluster only sends doOutput events when hasOutput() git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@683416 13f79535-47bb-0310-9956-ffa450edef68
* - Add support for ACL on message transferCarl C. Trieloff2008-08-011-1/+9
| | | | | | | | - Performance optimizations for ACL on message transfer git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@681690 13f79535-47bb-0310-9956-ffa450edef68
* Only reduce count and size maintained for queue plicy when messages are ↵Gordon Sim2008-07-251-1/+1
| | | | | | actually dequeued (i.e. acked). git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@679805 13f79535-47bb-0310-9956-ffa450edef68
* Enable dequeue for prototype clusterAlan Conway2008-07-171-3/+7
| | | | | | | | | - qpid/broker/SemanticState.cpp: moved doOutput into write idle callback. - qpid/broker/Connection.cpp: make doOutput an intercept point. - qpid/cluster/*: intercept doOutput to serialize output in cluster thread. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@677486 13f79535-47bb-0310-9956-ffa450edef68
* Removed dead code.Alan Conway2008-07-091-13/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@675155 13f79535-47bb-0310-9956-ffa450edef68
* Bring cluster code up to date.Alan Conway2008-06-181-1/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@669236 13f79535-47bb-0310-9956-ffa450edef68
* Moved from AccumulatedAck to SequenceSet in managing transactional acceptsGordon Sim2008-06-091-60/+3
| | | | | | | | | Added transactional option to perftest Removed clientid from ConnectionSettings as it appears not to be used git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@665890 13f79535-47bb-0310-9956-ffa450edef68
* Change to lazy-loading to avoid relying on the content-size to be set by client.Gordon Sim2008-06-041-0/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@663243 13f79535-47bb-0310-9956-ffa450edef68
* Better exception handling for commit.Gordon Sim2008-06-031-0/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@662774 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1095: another error code correctionGordon Sim2008-05-281-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@660952 13f79535-47bb-0310-9956-ffa450edef68
* Fixes to binding of member functions as raised on qpid list by Manuel Teira.Gordon Sim2008-05-281-11/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@660886 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1042: ensure delievery record is kept where accept_mode=not-required, ↵Gordon Sim2008-05-091-1/+1
| | | | | | acquire_mode=not-acquired and flow_mode=credit git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@654737 13f79535-47bb-0310-9956-ffa450edef68
* Generate c++ code from final 0-10 specGordon Sim2008-04-241-9/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@651423 13f79535-47bb-0310-9956-ffa450edef68
* QPID-944: do no-local checking where requested when there is an exclusive ↵Gordon Sim2008-04-221-0/+5
| | | | | | subscription active git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@650450 13f79535-47bb-0310-9956-ffa450edef68
* Better workaround for boost::ptr_map incompatibility between boost 1.33 and ↵Alan Conway2008-04-211-6/+6
| | | | | | 1.34, based on public properties of ptr::map types rather than version numbers. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@650221 13f79535-47bb-0310-9956-ffa450edef68
* QPID-920: converted c++ client to use final 0-10 protocolGordon Sim2008-04-201-4/+5
| | | | | | | | | | * connection handler converted to using invoker & proxy and updated to final method defs * SessionCore & ExecutionHandler replace by SessionImpl * simplified handling of completion & results, removed handling of responses git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@649915 13f79535-47bb-0310-9956-ffa450edef68
* Handle the set-redelivered flag on the final version of the message.release ↵Gordon Sim2008-04-091-2/+2
| | | | | | command. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@646452 13f79535-47bb-0310-9956-ffa450edef68
* Update to dtx inline with latest spec:Gordon Sim2008-03-261-5/+18
| | | | | | | | | | | | * Updated dtx handling in c++ broker to take account of separation of completion and acceptance. * Added final dtx method defs to extra xml fragment and implemented appropriate handlers in c++ broker. * Converted dtx python tests (recover test still requires some work on decoding arrays). * Allow creation of structs without type codes through a python session method. * Fixed exception handling in python client for commands with results. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@641464 13f79535-47bb-0310-9956-ffa450edef68
* Fix compile errors/warnings with gcc 4.3Alan Conway2008-03-251-1/+2
| | | | | | | | | | | | | - added missing #includes that were implicitly included via old headers. - add namespace-qualifiers to fix "changes meaning of name" warnings. - ./qpid/ptr_map.h:51: fixed "qualified return value" warning. - use const char* for "conversion from string constant to ‘char*’" warnings Applied patch from https://issues.apache.org/jira/browse/QPID-869 remove depenency on boost/date_time, causes warnings with gcc 4.3. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@640806 13f79535-47bb-0310-9956-ffa450edef68
* - Refactored RefCounted class to avoid virtual inheritanceAndrew Stitcher2008-03-241-0/+1
| | | | | | | | | | - Removed extraneous includes and definitions from RefCounted.h - Fixed all the places that were relying on RefCounted.h to be including the intrusive_ptr header file and were assuming that something had imported intrusive_ptr into the qpid namespace git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@640479 13f79535-47bb-0310-9956-ffa450edef68
* Altered management of delivery records to support separateion of completion ↵Gordon Sim2008-03-071-10/+14
| | | | | | | | | | (which drives flow control) and acceptance. Converted flow control python tests. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@634661 13f79535-47bb-0310-9956-ffa450edef68
* Fixes to c++ broker:Gordon Sim2008-03-061-3/+3
| | | | | | | | | | | | | - use final version of delivery properties where appropriate - start sequence numbering of outgoing messages at 0 - explicit accept-mode is now 0 (no more confirm-mode) - add default initialisers for numeric fields in methods Converted some more python tests to use final 0-10 client. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@634368 13f79535-47bb-0310-9956-ffa450edef68
* Fix message delivery for 0-10 final codepathGordon Sim2008-03-061-2/+8
| | | | | | | | Convert two more python tests to use 0-10 client git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@634229 13f79535-47bb-0310-9956-ffa450edef68
* A further step to final 0-10 spec.Gordon Sim2008-03-031-4/+33
| | | | | | | | | The extra.xml fragment adds class defs for connection in session that are in line with latest spec but use old schema. The preview codepath (99-0) remains unaltered. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@633108 13f79535-47bb-0310-9956-ffa450edef68
* Use sessions reference to broker rather than connections in semantic state ↵Gordon Sim2008-02-261-3/+3
| | | | | | as the sessions ref is valid even when not attached. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@631128 13f79535-47bb-0310-9956-ffa450edef68
* Some refactoring of the 0-10 codepath (being migrated to final spec) that ↵Gordon Sim2008-02-251-18/+13
| | | | | | primarily colocates the current session and execution layers to facilitate implementing the new session layer that will now encompass this behaviour. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@630934 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
* 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