summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/ConnectionImpl.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update from trunk r1375509 through r1450773asyncstoreKim van der Riet2013-02-281-9/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1451244 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3858: Updated branch - merged from trunk r.1333987Kim van der Riet2012-05-041-1/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1334037 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3382: Corrected some exception types for connect errorsGordon Sim2011-08-011-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1152853 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Corrected location of some tracingAndrew Stitcher2011-05-261-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1128070 13f79535-47bb-0310-9956-ffa450edef68
* Refactor socket connect calls to take a string portAndrew Stitcher2011-05-261-3/+5
| | | | | | This is used used to implement unix domain sockets - QPID-3281 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1128064 13f79535-47bb-0310-9956-ffa450edef68
* Give timer tasks a name for logging purposes.Alan Conway2010-08-261-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@989925 13f79535-47bb-0310-9956-ffa450edef68
* Fix read-credit bug causing cluster brokers to disconnect clients sporadically.Alan Conway2010-07-141-7/+18
| | | | | | | 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
* Ensure heartbeat task is cancelled before ConnectionImpl it refers to is deletedGordon Sim2010-06-091-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@953032 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2598: Prevent exit hang on windows (at the expense of intermittent leak ↵Gordon Sim2010-05-281-10/+8
| | | | | | on exit under linux) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@949176 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2631: For blocking Bounds::expand() calls, only increase the current ↵Gordon Sim2010-05-271-1/+1
| | | | | | count when there is space. In SessionImpl::send() expand bounds before queueing frame. Expand bounds for all frames sent (including connection frames and cluster specific frames). git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@948936 13f79535-47bb-0310-9956-ffa450edef68
* Prevent race between shutdown() and release() resulting in attempt to close ↵Gordon Sim2010-05-191-3/+12
| | | | | | deleted connector. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@946106 13f79535-47bb-0310-9956-ffa450edef68
* Load client side plugins just before creating the first Connection.Andrew Stitcher2010-04-271-3/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@938701 13f79535-47bb-0310-9956-ffa450edef68
* - Hold up tearing down client I/O threads until there are no moreAndrew Stitcher2010-04-211-1/+8
| | | | | | | connections active. - Don't create more client I/O threads than connections. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@936309 13f79535-47bb-0310-9956-ffa450edef68
* An alternative attempt at ensuring ConnectionImpl is not deleted before IO ↵Gordon Sim2010-04-171-27/+33
| | | | | | thread is finished with it. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@935275 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2511: Altered shutdown sequence in connectors; after connect() has ↵Gordon Sim2010-04-151-7/+41
| | | | | | returned there will always now be a shutdown callback made and only at that point is it guaranteed that there will be no further io callbacks. ConnectionImpl consequently waits for this before allowing itself to be deleted. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@934503 13f79535-47bb-0310-9956-ffa450edef68
* Improved fix for to create client library Poller. Improved because itAndrew Stitcher2010-04-081-9/+7
| | | | | | is now created at first need rather than library load. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@931781 13f79535-47bb-0310-9956-ffa450edef68
* Defer Poller creation in ConnectionImpl IOThread from creation to first use.Alan Conway2010-03-231-3/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@926650 13f79535-47bb-0310-9956-ffa450edef68
* Make sure the client library Poller is created on library load before ↵Andrew Stitcher2010-03-221-0/+9
| | | | | | | | | anything in the client program can be run. This ensures that it will be destroyed after anything in the client program is destroyed git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@925949 13f79535-47bb-0310-9956-ffa450edef68
* QPID 24448: throw if no channels available when adding a session.Alan Conway2010-03-151-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@923415 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2412: Support for EXTERNAL mechanism on client-authenticated SSL ↵Gordon Sim2010-03-051-1/+1
| | | | | | | | | | | | connections. On SSL connection where the clients certificate is authenticated (requires the --ssl-require-client-authentication option at present), the clients identity will be taken from that certificate (it will be the CN with any DCs present appended as the domain, e.g. CN=bob,DC=acme,DC=com would result in an identity of bob@acme.com). This will enable the EXTERNAL mechanism when cyrus sasl is in use. The client can still negotiate their desired mechanism. There is a new option on the ssl module (--ssl-sasl-no-dict) that allows the options on ssl connections to be restricted to those that are not vulnerable to dictionary attacks (EXTERNAL being the primary example). git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@919487 13f79535-47bb-0310-9956-ffa450edef68
* Ensure that shutting down an unsuccessful connect can't race with connection ↵Andrew Stitcher2010-01-211-3/+9
| | | | | | deletion git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@901553 13f79535-47bb-0310-9956-ffa450edef68
* Remove possible double closing of connection on connect failureAndrew Stitcher2010-01-211-7/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@901552 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1879 Don't use a thread for every new client ConnectionAndrew Stitcher2010-01-211-4/+91
| | | | | | | | | | | - By default the max number of threads now used for network io is the number of cpus available. - This can be overridden with the QPID_MAX_IOTHREADS environment variable or the config file - The client threads are initialised (via a singleton) when first used in a Connection::open() git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@901550 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1899: Applied patch from Ken Giusti to tie in SASL enctryption to the ↵Gordon Sim2009-11-091-0/+1
| | | | | | handling of the --require-encrypted option git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@834108 13f79535-47bb-0310-9956-ffa450edef68
* Fix memory leak in testCoincidentErrors due to un-joined connector thread.Alan Conway2009-10-301-2/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@831446 13f79535-47bb-0310-9956-ffa450edef68
* Make Session::close and Connection::close no-throwAlan Conway2009-10-271-5/+8
| | | | | | | close() will often be called in destructors and so should not throw exceptions. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@830268 13f79535-47bb-0310-9956-ffa450edef68
* Separate FailoverListener from client::Connection.Alan Conway2009-10-261-7/+2
| | | | | | | | | | | | | | | | | | client::ConnectionImpl used to contain a FailoverListener to subscribe for updates on the amq.failover exchange. This caused some lifecycle issues including memory leaks. Now FailoverListener is a public API class that the user must create associated with a session to get known-broker updates. Removed the weak_ptr logic in client::SessionImpl which was only required because of FailoverListener. Made SessionImpl::close() idempotent. Gets rid of spurious warning messages in some tests. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@829931 13f79535-47bb-0310-9956-ffa450edef68
* Fix problems with sessions going out of scope and session numbers wrapping ↵Alan Conway2009-10-211-7/+16
| | | | | | | | | | | | | around. Fixes QPID-1789: sessions that go out of scope without being detached will detach themselves. Also fixes several issues that arise when the session numbers wraps around and start re-using old numbers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@828108 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2112 - C++ Client: Facility needed for app to extract the user-ID in ↵Ted Ross2009-09-221-0/+6
| | | | | | use for a connection git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@817770 13f79535-47bb-0310-9956-ffa450edef68
* Add directory to #includeAlan Conway2009-07-141-5/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793909 13f79535-47bb-0310-9956-ffa450edef68
* Make sure you close down heartbeatTimer for every close even if you don'tAndrew Stitcher2009-06-231-1/+2
| | | | | | | need to do anything else git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@787809 13f79535-47bb-0310-9956-ffa450edef68
* Make sure the heartbeat interval is started for the waitForOpenCarl C. Trieloff2009-06-081-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@782494 13f79535-47bb-0310-9956-ffa450edef68
* Revert "QPID-1879 Don't use a thread for every new client Connection"Andrew Stitcher2009-06-031-88/+4
| | | | | | | This reverts commit b54680d4b3341fa280a237a6d80952b9830ae3c5. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@781378 13f79535-47bb-0310-9956-ffa450edef68
* Revert "Change client io threading to be initialised at first use"Andrew Stitcher2009-06-031-7/+4
| | | | | | | This reverts commit 2e77e9b85912ccbfd29763710a973d0bbff9c684. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@781375 13f79535-47bb-0310-9956-ffa450edef68
* Some fixes to QPID-1879 so that clustering still works:Andrew Stitcher2009-06-011-4/+7
| | | | | | | | | Change client io threading to be initialised at first use Stop linking loadable modules with tests Add some sentinel values so that we can see what happened last git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@780855 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1879 Don't use a thread for every new client ConnectionAndrew Stitcher2009-05-281-4/+88
| | | | | | | | | | - By default the max number of threads now used for network io is the number of cpus available. - This can be overridden with the QPID_MAX_IOTHREADS environment variable or the config file git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@779435 13f79535-47bb-0310-9956-ffa450edef68
* Fix issue with python clients to cluster, mis handling of channel 0.Alan Conway2009-05-041-1/+4
| | | | | | | | cpp/src/qpid/client/ConnectionImpl.cpp: allow 0 as a valid channel identifier. python/qpid/connection.py: don't use 0 as a channel identifier. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@771452 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1785: Prevent session.detach following execution.exception from ↵Gordon Sim2009-04-081-3/+5
| | | | | | destroying the connection. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@763163 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1705: cancel heartbeat timer task as part of cleanupGordon Sim2009-03-021-0/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@749297 13f79535-47bb-0310-9956-ffa450edef68
* Removed BodyHolder: minor performance improvement, opens the way for more ↵Alan Conway2009-01-221-1/+1
| | | | | | efficient memory management. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@736783 13f79535-47bb-0310-9956-ffa450edef68
* Minor formatting fixes and typo correction.Gordon Sim2009-01-151-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@734668 13f79535-47bb-0310-9956-ffa450edef68
* Implement heartbeat timeout on client:Andrew Stitcher2009-01-131-1/+39
| | | | | | | | - The client shuts down a connection if it receives no traffic on it in 2 timeout periods git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@734221 13f79535-47bb-0310-9956-ffa450edef68
* * Cyrus SASL intgeration for c++ clientGordon Sim2009-01-061-0/+8
| | | | | | | | * SASL security layer support for c++ client and broker git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@732082 13f79535-47bb-0310-9956-ffa450edef68
* Avoid potential deadlock between IO thread in Connector::handleClosed() and ↵Gordon Sim2008-12-021-1/+4
| | | | | | application thread in ConnectionImpl::closed() git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@722554 13f79535-47bb-0310-9956-ffa450edef68
* Restrict connection close codes to the set defined in the specGordon Sim2008-11-061-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@711989 13f79535-47bb-0310-9956-ffa450edef68
* This line seems not to be as redundant as I thought! Its removal seems to ↵Gordon Sim2008-11-031-0/+1
| | | | | | trigger some leaks for some platforms/cases. Adding it back for now. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@710124 13f79535-47bb-0310-9956-ffa450edef68
* Various fixes arising from testing client failover:Gordon Sim2008-11-031-8/+15
| | | | | | | | | | | | | | | | | | | | * introduced new exception type for signalling connection failure (as distinct from any logical connection errors) * ConnectionImpl::closeInternal(): take copy of session map to prevent concurrent modification (by the same thread) as sessions are deleted and erase themselves. * ConnectionImpl::shutdown: hold lock before calling closeInternal(); mark handler failed before informing sessions of failure * SessionImpl::connectionBroker(): remove code as its rather meaningless * Don't swallow exceptions in Dispatcher * Handle exceptions in FailoverListener * Take weak_ptr to ConnectionImpl on constructor of Connector, then convert to shared_ptr when 'receiver' thread is started. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@710106 13f79535-47bb-0310-9956-ffa450edef68
* Fix compile errors introduced by Address changesStephen D. Huston2008-10-241-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@707760 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1382 from Mick Goulish: Improvement to Client-Side Cluster Failover codeAlan Conway2008-10-221-2/+0
| | | | | | | | | Also: Fix missing DispatchHandle.h include in sys/PollableQueue.h Added ignore properties for failover example binaries & Makefile. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@707065 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1367 Mick Goulish: improvements to client-side failover.Alan Conway2008-10-171-4/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@705668 13f79535-47bb-0310-9956-ffa450edef68