summaryrefslogtreecommitdiff
path: root/cpp/src/qpid
Commit message (Collapse)AuthorAgeFilesLines
* Merged out from trunkQPID-2519Stephen D. Huston2011-10-21242-3591/+7228
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/QPID-2519@1187375 13f79535-47bb-0310-9956-ffa450edef68
* Undo bad merge from trunk - merged at wrong level.Stephen D. Huston2011-10-21244-7393/+3460
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/QPID-2519@1187150 13f79535-47bb-0310-9956-ffa450edef68
* Merge trunk to QPID-2519 branchStephen D. Huston2011-10-20244-3460/+7393
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/QPID-2519@1186990 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3000: Added optional delay for auto-deletionGordon Sim2011-02-152-3/+74
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1071013 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3002: Added explicit casts required by some compiler versionsGordon Sim2011-02-151-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1070974 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3002: Added virtual destructor for new interface; Removed some more ↵Gordon Sim2011-02-152-114/+1
| | | | | | accidentally duplicated code. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1070944 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3002: Configurable threshold alerts for queuesGordon Sim2011-02-1511-40/+443
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1070913 13f79535-47bb-0310-9956-ffa450edef68
* QPID-529: Brought forward definition of struct fir deque impl on windowsGordon Sim2011-02-141-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1070581 13f79535-47bb-0310-9956-ffa450edef68
* QPID-529: Include integer definitions to fix windows build.Gordon Sim2011-02-141-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1070548 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3053: Enable broadcast via QMFv2 by default; add option to allow ↵Gordon Sim2011-02-142-3/+6
| | | | | | broadcast over QMFv1 to be independently controlled. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1070491 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3040: Prevent race between receipt and release of messages causing ↵Gordon Sim2011-02-141-1/+1
| | | | | | intermittent test failures. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1070481 13f79535-47bb-0310-9956-ffa450edef68
* QPID-529: Added missing includeGordon Sim2011-02-101-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1069398 13f79535-47bb-0310-9956-ffa450edef68
* QPID-529: Fixed errors generated by different compiler versionsGordon Sim2011-02-101-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1069349 13f79535-47bb-0310-9956-ffa450edef68
* QPID-529: Priority queue implementationGordon Sim2011-02-1019-259/+1363
| | | | | | | | | | QPID-2104: LVQ enhancement These both required some refactoring of the Queue class to allow cleaner implementation of different types of behaviour. The in-memory storage of messages is now abstracted out behind an interface specified by qpid::broker::Messages which qpid::broker::Queue uses. Different implementations of that are available for the standard FIFO queue, priority queues and LVQ (I have also separated out the 'legacy' implementation of LVQ from the new version driven by QPID-2104). git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1069322 13f79535-47bb-0310-9956-ffa450edef68
* Remove out-dated comment.Alan Conway2011-02-091-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1069102 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3040: The C++ messaging client library now releases pending messages ↵Jonathan Robie2011-02-093-35/+44
| | | | | | | | when a Receiver is closed. This only releases messages in the client's cache that have not been read. It does not release messages that have been read by the client application, but not acknowledged. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1069030 13f79535-47bb-0310-9956-ffa450edef68
* Added design note comment to qpid/cpp/src/qpid/cluster/ClusterTimer.cppAlan Conway2011-02-091-1/+20
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1069029 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3045 - sporadic failure of cluster_tests.ShortTests.test_route_updateAlan Conway2011-02-083-10/+25
| | | | | | | | | | | Sporadically the test was failing because the session associated with an inter-broker bridge was created out of order with other objects. This is unlikely to cause a fatal cluster inconsistency in practice but it has been corrected in any case. The fix was to delay creation of the management object for a bridge session till a point which is consistent on all cluster members. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1068554 13f79535-47bb-0310-9956-ffa450edef68
* Reverts r1068042.Jonathan Robie2011-02-081-58/+50
| | | | | | We will fix this bug in the C++ client messaging library rather than the broker. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1068417 13f79535-47bb-0310-9956-ffa450edef68
* Ensures that messages acquired, but not acked, are released before a queue ↵Jonathan Robie2011-02-071-50/+58
| | | | | | | | | | | is deleted. Otherwise, these messages are not routed to an alternate exchange, and the queue is not actually deleted. Resolves QPID-3040 / Red Hat BZ 674678. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1068042 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3033 Bug 674183 - Segmentation fault while processing session.attachAlan Conway2011-02-021-1/+4
| | | | | | | | | If a faulty client sent invalid frames to a connection that was not yet in the open state, the broker would core dump. The fix is to close the connection with a 'framing-error' in this case. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066661 13f79535-47bb-0310-9956-ffa450edef68
* Fix missing QPID_COMMON_EXTERN in sys/Socket.h, causing windows build failure.Alan Conway2011-02-021-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066581 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3032 - Bug-fix: The broker management agent and the remote C++ agent ↵Ted Ross2011-02-024-105/+146
| | | | | | | | | | | | | hard-coded the assumed value of the "exchange" component of reply-to headers to either "amq.direct" or "qmf.default.direct", depending on the circumstance. This commit fixes this such that message replies are sent to the exchange/key pair supplied in the reply-to header. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066557 13f79535-47bb-0310-9956-ffa450edef68
* Resolves QPID-3031. Allows client connection options to specify an SSL ↵Jonathan Robie2011-02-026-49/+75
| | | | | | cert-name. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066508 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3007: Unique management identifier for connections.Alan Conway2011-02-018-12/+32
| | | | | | | | | | | | | | | Management was using remote socket address (host:port) to identify connections, but this is not a unique identifier. Both the local and remote addresses are needed to uniquely identify a connection - see http://www.faqs.org/rfcs/rfc793.html. This was causing management errors (multiple objects using same identifier) and cluster failures (invalid-arg exception) due to inconsistencies caused by the incorrect management map. This commit uses "localhost:localport-remotehost:remoteport" as a unique identifier. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066220 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3007: Don't hold on to consumer shared-pointers in ↵Alan Conway2011-02-012-5/+4
| | | | | | | | | | | | UpdateClient::consumerNumbering Holding shared pointers in UpdateClient::consumerNumbering can hold consumers in memory and delete them out of sync with other cluster members. Made it hold plain pointers instead since we don't actually need to ensure object liveness, we're just doing an address/number correspondence. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066217 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3007: Don't record management statistics in cluster-unsafe contexts.Alan Conway2011-02-011-2/+4
| | | | | | | | | | A few frames are sent in cluster-unsafe contexts, e.g. heartbeat timer callbacks and during initial connection negotiation. Don't update the connection's management counters in these contexts to avoid inconsistent management data in a cluster. There are very few such frames so this does not unduly distort the management data. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066215 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3030: prevent buffer overflow when writing sequences of bytes.Kenneth Anthony Giusti2011-02-011-0/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066097 13f79535-47bb-0310-9956-ffa450edef68
* Fix for RHBZ656385: "Data store can become corrupt with small store file ↵Kim van der Riet2011-01-281-1/+2
| | | | | | size and large wcache-page-size". The second issue from comments 13-16 in which the queue remains after the store throws the exception is solved. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1064711 13f79535-47bb-0310-9956-ffa450edef68
* Moved ResizableBuffer.h from include to src. Not part of the public API.Alan Conway2011-01-211-0/+60
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1061932 13f79535-47bb-0310-9956-ffa450edef68
* Bug 654872, QPID-3007: Batch management messages by count, not size.Alan Conway2011-01-202-13/+19
| | | | | | | | | | | | QMF V1 management messages were being batched by accumulating up to a certain total size of data. Since management messages may have different sizes on brokers in a cluster, this was leading to inconsistencies. This patch batches V1 messages by count rather than by size, similar to V2 messages. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1061308 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2982 Bug 669452 - Creating a route and using management tools can crash ↵Alan Conway2011-01-189-15/+89
| | | | | | | | | | | | cluster members. Cluster update did not include federation link and bridge objects. Fixed update to include them. Management linkUp and linkDown events were generated only on the broker receiving the link. Suppressed these events in a cluster. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1060568 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2997: remove oid disambiguation, re-order mgmt object status updates.Kenneth Anthony Giusti2011-01-183-185/+232
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1060401 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3006: remove incorrect and unnecessary authorisation checkGordon Sim2011-01-172-14/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1060110 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3001: Add const version of Connection::isOpen()Gordon Sim2011-01-174-3/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1059846 13f79535-47bb-0310-9956-ffa450edef68
* Fixes QPID-2499: Stale federation routes remain after route deletion.Jonathan Robie2011-01-136-39/+57
| | | | | | | | | | | | | Federated binds and unbinds need to know which federation origins are associated with the bindings for each queue. When origins are added or deleted, the corresponding bindings need to be propagated. fedBindings[queueName] contains the origins associated with the given queue. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1058747 13f79535-47bb-0310-9956-ffa450edef68
* Originally, when the broker agent authorized a method call, if the message ↵Ted Ross2011-01-131-1/+6
| | | | | | | | | | was too large to fir in the working buffer, the method was rejected. This change rejects the method only if there is an ACL configured. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1058710 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2982: Fix discrepancy in management object and deleted object counts.Alan Conway2011-01-133-134/+99
| | | | | | | | | | | | | | | cluster_tests.test_management was showing discrepancy in management object and deleted object count after a new member update. In ManagementAgent.cpp, code to move deleted objects into pendingDeletedObjs was duplicated in 2 places. Moved duplicated code into a function moveDeletedObjectsLH() Call moveDeletedObjectsLH from clusterUpdate to correct discrepancy in object count around update. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1058664 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2991: added message counts to connection stats; fixed xxxToClient statsGordon Sim2011-01-112-6/+67
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1057578 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2982: Improved cluster/management logging and automated test for log ↵Alan Conway2011-01-077-111/+165
| | | | | | | | | | | consistency. The cluster_tests.py test_management test is augmented to compare broker logs after the test completes. Any inconsistency in the logs causes the test to fail. This check is currently disabled as it is failing due to known issues. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1056378 13f79535-47bb-0310-9956-ffa450edef68
* Changes to QMFv2 formats to make the agents and consoles consistent:Ted Ross2011-01-062-14/+18
| | | | | | | | | 1) Events in _data_indication messages are carried as lists of events (consistent with object data) 2) Built-in attributes for agents (in _heartbeaet_indication) all start with '_' to differentiate them from user-defined attributes. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1056112 13f79535-47bb-0310-9956-ffa450edef68
* Rename Rdma send buffer operations.Andrew Stitcher2010-12-238-23/+23
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052331 13f79535-47bb-0310-9956-ffa450edef68
* Changes due to review comments from Doug Ledford:Andrew Stitcher2010-12-237-31/+34
| | | | | | | | - Removed lock unsafe operation Rdma::QueuePair::bufferAvailable() and replaced the unavailable case with failing getBuffer(). - Improved asserts in the Rdma::QueuePair::getBuffer() code. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052330 13f79535-47bb-0310-9956-ffa450edef68
* Implementation for v1 rdma protocol - append sent credit and flags wordAndrew Stitcher2010-12-234-26/+77
| | | | | | | | | after sent frame (instead of sending it in immediate data). Small change to send buffer management to support this to 0 dataCount when returning buffers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052329 13f79535-47bb-0310-9956-ffa450edef68
* Reduce rdma scatter gathers allocated per queue pair to 1 as iWarpAndrew Stitcher2010-12-231-2/+5
| | | | | | only supports 1 sge. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052328 13f79535-47bb-0310-9956-ffa450edef68
* Fix error handling for ibv_post_send() & ibv_port_recv()Andrew Stitcher2010-12-231-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052327 13f79535-47bb-0310-9956-ffa450edef68
* Allow for the case where we get an rdma reject because there is no one listeningAndrew Stitcher2010-12-231-4/+14
| | | | | | on the resolved address git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052326 13f79535-47bb-0310-9956-ffa450edef68
* Factored rdma sending/receiving code out to make manipulatingAndrew Stitcher2010-12-232-24/+42
| | | | | | credit isolated git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052325 13f79535-47bb-0310-9956-ffa450edef68
* Reject attempts to connect with version of rdma protocol we don't understandAndrew Stitcher2010-12-232-1/+17
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052324 13f79535-47bb-0310-9956-ffa450edef68
* Plumb rdma protocol version into Rdma::AsynchIOAndrew Stitcher2010-12-236-0/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052323 13f79535-47bb-0310-9956-ffa450edef68