summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys
Commit message (Collapse)AuthorAgeFilesLines
* Add state constraint annotations to Rdma::AsynchIO;Andrew Stitcher2010-10-121-4/+14
| | | | | | | Simplify state machine slightly git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021831 13f79535-47bb-0310-9956-ffa450edef68
* Improve the performance of the Rdma::AsynchIO by using a veryAndrew Stitcher2010-10-122-7/+62
| | | | | | | | simple state machine to reduce the context switch for notifyPendingWrite() by allowing it to "hijack" existing concurrent processing on an IO thread. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021823 13f79535-47bb-0310-9956-ffa450edef68
* Rewrite Rdma::AsynchIO to use deferred code rather than a state machine:Andrew Stitcher2010-10-122-238/+26
| | | | | | | | This eliminates a lot of difficult to understand error prone state machine code git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021822 13f79535-47bb-0310-9956-ffa450edef68
* Serialise close into the data callbacks:Andrew Stitcher2010-10-122-4/+22
| | | | | | | | | Rejig Rdma::ConnectionManager to have a stop function with a callback and use this to ensure that the Rdma::Connector used by qpid::sys::RdmaConnector is correctly deleted only after it has been actually stopped git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021819 13f79535-47bb-0310-9956-ffa450edef68
* Make sure that Rdma::Listener can generate no more callbacks after it receivesAndrew Stitcher2010-10-121-0/+12
| | | | | | | a disconnected event for a connection id. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021818 13f79535-47bb-0310-9956-ffa450edef68
* If we have already stopped an Rdma connection, but we still get a data eventAndrew Stitcher2010-10-121-0/+3
| | | | | | | ignore it git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021817 13f79535-47bb-0310-9956-ffa450edef68
* Handle Rdma Flush events - instead of reporting to the application justAndrew Stitcher2010-10-121-0/+16
| | | | | | | | return write buffers to the pool and do nothing for recv buffers as the connection must be in an error state now. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021816 13f79535-47bb-0310-9956-ffa450edef68
* Fix Rdma test server so that you can interrupt it again (since makingAndrew Stitcher2010-10-121-3/+9
| | | | | | | Poller run loop impervious to signals) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021815 13f79535-47bb-0310-9956-ffa450edef68
* Catch uncaught exceptions thrown by DispatchHandle callbacks instead of lettingAndrew Stitcher2010-10-121-0/+7
| | | | | | | then destroy the Poller thread. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021814 13f79535-47bb-0310-9956-ffa450edef68
* Converted four files from DOS format to Unix format to match all of the otherTed Ross2010-10-112-852/+852
| | | | | | | | | files in their respective directories. This is a non-substantive change, only end-of-line formatting was modified. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021423 13f79535-47bb-0310-9956-ffa450edef68
* Break deadlock caused when ClusterTimer::drop is called concurrently with ↵Alan Conway2010-09-091-5/+8
| | | | | | Timer::add. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995426 13f79535-47bb-0310-9956-ffa450edef68
* Fix to allow compilation with libibverbs 1.1.2Andrew Stitcher2010-09-082-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995165 13f79535-47bb-0310-9956-ffa450edef68
* Stop the client side Rdma code from receiving connection events before the ↵Andrew Stitcher2010-09-082-0/+5
| | | | | | | | data events are stopped to avoid any events after the Rdma::Connector is deleted git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995145 13f79535-47bb-0310-9956-ffa450edef68
* Delay daemon side Rdma connection disconnect() so that it happens serialisedAndrew Stitcher2010-09-083-1/+23
| | | | | | to the data channel for the connection. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995143 13f79535-47bb-0310-9956-ffa450edef68
* Avoid Rdma::AsynchIO leaking when stopped without being drained andAndrew Stitcher2010-09-081-1/+3
| | | | | | | add in asserts to be sure that you call stopped and drained callbacks in the correct state git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995142 13f79535-47bb-0310-9956-ffa450edef68
* Only delete Rdma server side connections when the client disconnects -Andrew Stitcher2010-09-082-12/+16
| | | | | | | this avoids a race between the disconnect event and deleting the connection upon closing. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995141 13f79535-47bb-0310-9956-ffa450edef68
* Reordered members of RdmaIOHandler to ensure correct destruction orderAndrew Stitcher2010-09-081-4/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995140 13f79535-47bb-0310-9956-ffa450edef68
* Improve daemon handling of unexpected RDMA disconnects from clientAndrew Stitcher2010-09-081-21/+48
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995139 13f79535-47bb-0310-9956-ffa450edef68
* Rearrange drain queue code so that it does't call the callback unless thereAndrew Stitcher2010-09-081-3/+8
| | | | | | are no outstanding write buffers git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995137 13f79535-47bb-0310-9956-ffa450edef68
* Coalesce checking for the drained and stopped conditions into a singleAndrew Stitcher2010-09-082-17/+22
| | | | | | function git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995136 13f79535-47bb-0310-9956-ffa450edef68
* Reorder some code for improved intellegibilityAndrew Stitcher2010-09-081-15/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995135 13f79535-47bb-0310-9956-ffa450edef68
* Remove write after frees in Rdma::AsynchIO and qpid::client::RdmaConnectorAndrew Stitcher2010-09-081-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995134 13f79535-47bb-0310-9956-ffa450edef68
* Dispose the queue pair before acknowledging channel events when destroyingAndrew Stitcher2010-09-081-3/+6
| | | | | | Rdma::QueuePair to stop any events being processed during destruction git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995133 13f79535-47bb-0310-9956-ffa450edef68
* Use structures with much less dynamic allocation to hold rdma buffersAndrew Stitcher2010-09-082-18/+22
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995132 13f79535-47bb-0310-9956-ffa450edef68
* Refactored Rdma write buffers to be controlled by the rdma_wrapper layerAndrew Stitcher2010-09-084-56/+67
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995131 13f79535-47bb-0310-9956-ffa450edef68
* Move rdma recv buffers to a single large allocation rather than piecemeal ↵Andrew Stitcher2010-09-085-10/+53
| | | | | | allocations git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995130 13f79535-47bb-0310-9956-ffa450edef68
* Stop using references to intrusive_ptr in Rdma codeAndrew Stitcher2010-09-082-20/+20
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995127 13f79535-47bb-0310-9956-ffa450edef68
* Move the RDMA buffer tracking/destruction into the QueuePair class fromAndrew Stitcher2010-09-084-9/+7
| | | | | | the RdmaIO class. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995126 13f79535-47bb-0310-9956-ffa450edef68
* Changed RDMA testing server not to use the lower level Rdma buffersAndrew Stitcher2010-09-081-11/+35
| | | | | | | if it needs to queue messages to echo, but to suffer the double copy overhead of using its own buffers git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995125 13f79535-47bb-0310-9956-ffa450edef68
* Give timer tasks a name for logging purposes.Alan Conway2010-08-262-10/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@989925 13f79535-47bb-0310-9956-ffa450edef68
* Added doxygen comments.Jonathan Robie2010-07-281-0/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@980174 13f79535-47bb-0310-9956-ffa450edef68
* Improved doxygen comments.Jonathan Robie2010-07-281-2/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@980163 13f79535-47bb-0310-9956-ffa450edef68
* Fix read-credit bug causing cluster brokers to disconnect clients sporadically.Alan Conway2010-07-141-2/+6
| | | | | | | Also added connection identifier in connection log messages. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@964213 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2708: Create a separate qpidtypes library for the types namespace.Alan Conway2010-06-301-8/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@959419 13f79535-47bb-0310-9956-ffa450edef68
* added a case for SEC_ERROR_EXPIRED_CERTIFICATE: in getErrorString() Rajith Muditha Attapattu2010-06-291-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@959064 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2388: Do not unmask signals whilst waiting for IO to happenAndrew Stitcher2010-06-231-12/+0
| | | | | | | - The client and common libraries do not use signals at all so there is no real reason to allow signal handling on IO threads. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@957109 13f79535-47bb-0310-9956-ffa450edef68
* Fix bad assertion introduced in prevoius commit r956882Alan Conway2010-06-222-4/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@956965 13f79535-47bb-0310-9956-ffa450edef68
* Fix cluster broker crashes when management is active.Alan Conway2010-06-221-2/+9
| | | | | | | | | | | | Cluser brokers were exiting with errors "modified cluster state outside cluster context" and "confirmed < (50+0) but only sent < (49+0)" Fix was to: - delay completion of incoming update till update connection closes. - delay addding new connections to managment until connection is announced. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@956882 13f79535-47bb-0310-9956-ffa450edef68
* remove assertion for condition that is in fact valid (the callback could ↵Gordon Sim2010-06-161-2/+0
| | | | | | have been processed on the back of an event concurrently returned with the interrupt request) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@955339 13f79535-47bb-0310-9956-ffa450edef68
* Allow entry into notifyPendingWrite() if already stopped as it is too hardAndrew Stitcher2010-06-141-2/+2
| | | | | | | to eliminate a race that can cause this, and it is essentially harmless if ignored git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@954499 13f79535-47bb-0310-9956-ffa450edef68
* Move QueuePair member in Rdma::AsynchIO to ensure that it get destroyed beforeAndrew Stitcher2010-06-142-4/+6
| | | | | | | the buffers it uses, so that there is no hardware activity using them after they are deleted git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@954498 13f79535-47bb-0310-9956-ffa450edef68
* Combine Rdma::Buffer and ibv_sge needed to send itAndrew Stitcher2010-06-146-57/+55
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@954496 13f79535-47bb-0310-9956-ffa450edef68
* Try to avoid getting into a state where we can't send credit because weAndrew Stitcher2010-06-141-1/+10
| | | | | | | sent the very last buffer without any credit. So in theory when we do have credit to send we should have a buffer and xmit credit to do it with. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@954495 13f79535-47bb-0310-9956-ffa450edef68
* Added asserts to ensure that we catch it if xmitCredit isn't saneAndrew Stitcher2010-06-141-0/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@954494 13f79535-47bb-0310-9956-ffa450edef68
* Allow stopping even if we've got outstanding write buffers.Andrew Stitcher2010-06-141-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@954493 13f79535-47bb-0310-9956-ffa450edef68
* In Rdma::AsynchIO::stop():Andrew Stitcher2010-06-141-2/+4
| | | | | | | | | | | | - make sure we stop the underlying handle immediately whether or not we do the stopped callback now or have to defer it. In qpid::client::RdmaConnector: - make sure that the shutdown handler is called under all circumstances. - make sure that the destructor doesn't delete the aio if it is already deleted git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@954492 13f79535-47bb-0310-9956-ffa450edef68
* Only set the draining flag when we delay calling the drained callback.Andrew Stitcher2010-06-141-2/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@954491 13f79535-47bb-0310-9956-ffa450edef68
* Trivial code simplificationAndrew Stitcher2010-06-141-3/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@954490 13f79535-47bb-0310-9956-ffa450edef68
* Removed unnecessary parameter from Rdma::AsynchIO::dataEvent()Andrew Stitcher2010-06-142-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@954489 13f79535-47bb-0310-9956-ffa450edef68
* Ensure that AsynchConnector is disassociated from Poller when aborting ↵Gordon Sim2010-06-112-1/+7
| | | | | | connection attempt due to a heartbeat timeout git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@953610 13f79535-47bb-0310-9956-ffa450edef68