summaryrefslogtreecommitdiff
path: root/cpp/src/qpid
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Add in some useful rdma warnings when we reject a connectionAndrew Stitcher2010-12-231-1/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052321 13f79535-47bb-0310-9956-ffa450edef68
* Add code to switch on/off byteswapping of RDMA ConnectionParamsAndrew Stitcher2010-12-232-15/+60
| | | | | | | | depending on detected protocol version. To give some backwards compatibility and fix a previous error which sent connection params in host order. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052320 13f79535-47bb-0310-9956-ffa450edef68
* Added test into RdmaClient to be sure the messages we receive are theAndrew Stitcher2010-12-231-8/+40
| | | | | | | same as the message we sent. Use a pseudo random non-repetetive stream as the message to be sure there is no reordering or repeating of messages. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052319 13f79535-47bb-0310-9956-ffa450edef68
* Allow RdmaClient to be interruptedAndrew Stitcher2010-12-231-2/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052318 13f79535-47bb-0310-9956-ffa450edef68
* In broker::ConectionHandler, use the security settings, if any, Michael Goulish2010-12-162-11/+8
| | | | | | | | | | | provided by the transport layer when starting SASL. This allows the SASL mechanism EXTERNAL to be satisfied with SSL transport security. The test, sasl_fed_ex, uses this SASL/SSL security on a federated link between two brokers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1050162 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2967 Windows broker fails to destroy connections if client exits abruptlyCharles E. Rolke2010-12-151-3/+4
| | | | | | | In win::AsynchIOReadComplete(): If there is no data, always call notifyEof(). If status is nonZero then also call notifyDisconnect(). Reviewed by astitcher. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1049702 13f79535-47bb-0310-9956-ffa450edef68
* Bug 662765 - Management broker ID should be the same for members of a cluster.Alan Conway2010-12-156-25/+30
| | | | | | | Replicate management UUID and name to members of a cluster. See https://bugzilla.redhat.com/show_bug.cgi?id=662765. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1049566 13f79535-47bb-0310-9956-ffa450edef68
* ManagementAgent.cpp: consistent logging of message lengths.Alan Conway2010-12-131-5/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1045258 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2966: Add QMF method to dynamically set the log level.Gordon Sim2010-12-105-3/+58
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1044248 13f79535-47bb-0310-9956-ffa450edef68
* Defer update of managaement agent to end of update process.Alan Conway2010-12-086-62/+51
| | | | | | | | | | | Move updating of the management agent to the very end of the update process, after all objects used by the update process itself have been deleted. Before the fix deletions from the update process itself (deleting the qpid.cluster-update queue and its binding to the default exchange) were sporadically appearing as extra delete messages on the updatees management agent and causing inconsistency. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1043621 13f79535-47bb-0310-9956-ffa450edef68
* Comment explaining the nodict flag.Michael Goulish2010-12-071-0/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1043073 13f79535-47bb-0310-9956-ffa450edef68