summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/Connection.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QPID-3858: Updated branch - merged from trunk r.1368650Kim van der Riet2012-08-031-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1368910 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3858: Updated branch - merged from trunk r.1333987Kim van der Riet2012-05-041-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1334037 13f79535-47bb-0310-9956-ffa450edef68
* Support for multiple protocols in qpid::Url.Alan Conway2010-05-111-12/+11
| | | | | | | | | | - simplified qpid::Address to hold (protocol,host,port) triples. - protocol plugins call Url:addProtocol to add tags to Url parser. - use Address::protocol when establishing connections. - ssl_test: tests using URL to connect. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@943130 13f79535-47bb-0310-9956-ffa450edef68
* An alternative attempt at ensuring ConnectionImpl is not deleted before IO ↵Gordon Sim2010-04-171-1/+1
| | | | | | thread is finished with it. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@935275 13f79535-47bb-0310-9956-ffa450edef68
* Improved fix for to create client library Poller. Improved because itAndrew Stitcher2010-04-081-1/+4
| | | | | | 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
* Separate FailoverListener from client::Connection.Alan Conway2009-10-261-2/+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
* Protect close methodCarl C. Trieloff2009-10-161-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@825869 13f79535-47bb-0310-9956-ffa450edef68
* Add directory to #includeAlan Conway2009-07-141-6/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793909 13f79535-47bb-0310-9956-ffa450edef68
* Remove useless qpid/shared_ptr.h wrapper.Alan Conway2009-05-061-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@772294 13f79535-47bb-0310-9956-ffa450edef68
* Cleaned up some un-necessary #include dependencies.Alan Conway2009-04-151-0/+1
| | | | | | | Removed un-used LatencyMetric hack. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@765285 13f79535-47bb-0310-9956-ffa450edef68
* Cluster security support:Alan Conway2009-02-121-8/+13
| | | | | | | | - Set correct user ID on update connections. - Allow configuration of user, pass and mechanism used for update connections. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@743839 13f79535-47bb-0310-9956-ffa450edef68
* Correction for: start a broker in cluster, send messages that are flow to ↵Carl C. Trieloff2009-01-301-0/+7
| | | | | | disk, then join a broker to the cluster. Then consume from the new node. Cotent released messages where loosing content. This patch corrects that. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@739378 13f79535-47bb-0310-9956-ffa450edef68
* Fix unused arg warnings from MSVCStephen D. Huston2008-12-101-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@725488 13f79535-47bb-0310-9956-ffa450edef68
* Failover client and example fixes & tidy up.Alan Conway2008-10-101-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@703532 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1340 froM Mick Goulish: preliminary client-side failover support.Alan Conway2008-10-101-0/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@703319 13f79535-47bb-0310-9956-ffa450edef68
* Client-side support for amq.faiover exchange. Connection::getKnownBrokers ↵Alan Conway2008-10-091-10/+7
| | | | | | provides latest list. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@703237 13f79535-47bb-0310-9956-ffa450edef68
* Refactored c++ client library to allow multiple protocols to beAndrew Stitcher2008-09-111-1/+1
| | | | | | | | | | | | | | | used simultaneously: - Added in capability for client library plugins: Client library will load in plugin modules from the client library module directory on library load. - Add protocol option into the standard client command line options - Split plugin module load area into daemon and client; default daemon module directory is now <libdir>/qpid/daemon, default client module directory is <libdir>/qpid/client. - Changed names of plugins to leave out libqpid prefix git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@694113 13f79535-47bb-0310-9956-ffa450edef68
* Cluster support for copying shared broker state to new members.Alan Conway2008-09-101-0/+32
| | | | | | | | | | | | 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
* Updated doxygen comments in qpid/client/*.hAlan Conway2008-06-091-2/+2
| | | | | | | Changed request-response example to use SubscriptionManager like the others. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@665891 13f79535-47bb-0310-9956-ffa450edef68
* Separate option parsing from qpid::client::ClientSettings.Alan Conway2008-06-021-2/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@662581 13f79535-47bb-0310-9956-ffa450edef68
* Added --syslog-name, --syslog-facility options.Alan Conway2008-06-021-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@662558 13f79535-47bb-0310-9956-ffa450edef68
* Fixed intermittent leak of client::Connector thread.Alan Conway2008-05-261-8/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@660320 13f79535-47bb-0310-9956-ffa450edef68
* Changes to Session API:Alan Conway2008-05-261-10/+9
| | | | | | | | | | | - Session is synchronous, no futures. - AsyncSession is async, returns futures. - Conversion functions sync(s) async(s) return a sync/async view of session s. - Connection::newSession - takes name, no timeout - SessionBase::getId - returns SessionId not UUID. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@660258 13f79535-47bb-0310-9956-ffa450edef68
* Delete obsolete Channel class.Alan Conway2008-05-231-8/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@659663 13f79535-47bb-0310-9956-ffa450edef68
* qpid::SessionState: Added error checking for invalid frame sequences.Alan Conway2008-05-231-1/+2
| | | | | | | client: Fix client crash on error during connection shutdown. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@659538 13f79535-47bb-0310-9956-ffa450edef68
* QPID-974: allow the size of the queue of outgoing frames to be restrictedGordon Sim2008-04-291-26/+41
| | | | | | | | QPID-544: tidy up configuration (ensuring desired settings are used correctly, allowing tcp socket options to be set etc) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@652083 13f79535-47bb-0310-9956-ffa450edef68
* QPID-920: converted c++ client to use final 0-10 protocolGordon Sim2008-04-201-3/+3
| | | | | | | | | | * 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
* Start moving towards final 0-10 spec:Gordon Sim2008-02-211-3/+3
| | | | | | | | | | | | | * marked preview spec as 99-0 to distinguish it from 0-10 (which will now be used for the final version) * modified python client to treat 99-0 as 0-10 for now * modified broker to have two paths for the two different versions: 99-0 uses PreviewConnection, PreviewConnectionHandler and PreviewSessionHandler which are straight copy & pastes of the Connection, ConnectionHandler and SessionHandler now associated with 0-10 (so we can migrate the 0-10 path to the final spec without affecting clients working with the preview version) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@629883 13f79535-47bb-0310-9956-ffa450edef68
* Added non-optional enum { SYNC, ASYNC } parameter to newSession.Alan Conway2008-02-201-2/+5
| | | | | | | Updated API doc in client/SessionBase.h git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@629503 13f79535-47bb-0310-9956-ffa450edef68
* Fixes to max frame size default and fragmentation on broker.Gordon Sim2007-12-181-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@605251 13f79535-47bb-0310-9956-ffa450edef68
* Rename client::Session as client::Session_0_10Alan Conway2007-10-291-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@589794 13f79535-47bb-0310-9956-ffa450edef68
* Session resume support in client & broker: Client can resume a sessionAlan Conway2007-10-261-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | after voluntary suspend() or network failure. Frames lost in network failure are automatically re-transmitted for transparent re-connection. client::Session improvements: - Locking to avoid races between network & user threads. - Replaced client::StateManager with sys::StateMonitor - avoid heap allocation. qpid::Exception clean up: - use QPID_MSG consistently to format exception messages. - throw typed exceptions (in reply_exceptions.h) for AMQP exceptions. - re-throw correct typed exception on client for exceptions from broker. - Removed QpidError.h rubygen/templates/constants.rb: - constants.h: Added FOO_CLASS_ID and FOO_BAR_METHOD_ID constants. - reply_constants.h: Added throwReplyException(code, text) log::Logger: - Fixed shutdown race in Statement::~Initializer() git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@588761 13f79535-47bb-0310-9956-ffa450edef68
* Ensure no danbling pointers in client API:Alan Conway2007-09-281-2/+2
| | | | | | | | | - Session -shared_ptr-> SessionCore -shared_ptr-> ConnectionImpl - Connection -shared_ptr-> ConnectionImpl - ConnectionImpl -weak_ptr-> SessionCore git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@580440 13f79535-47bb-0310-9956-ffa450edef68
* * src/tests/ClientSessionTest.cpp: Suspend/resume tests.Alan Conway2007-09-281-9/+15
| | | | | | | | | | | | | | | * broker/SessionManager.cpp, broker/SessionHandler.cpp: Implement suspend/resume * client/ScopedAssociation.h, SessionCore.h, SessionHandler.h: Simplified relationships. - Removed ScopedAssociation. - SessionHandler: is now a member of SessionCore. - SessionCore: shared_ptr ownership by Session(s) and ConnectionImpl. - Using framing::FrameHandler interfaces. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@580403 13f79535-47bb-0310-9956-ffa450edef68
* Renamed the following files for consistency:Alan Conway2007-09-251-0/+86
| | | | | | | | | | | | | | | | | | broker/BrokerExchange.cpp -> Exchange.cpp broker/BrokerExchange.h -> Exchange.h broker/BrokerQueue.cpp -> Queue.cpp broker/BrokerQueue.h -> Queue.h client/ClientChannel.cpp -> Channel.cpp client/ClientChannel.h -> Channel.h client/ClientConnection.cpp -> Connection.cpp client/ClientExchange.cpp -> Exchange.cpp client/ClientExchange.h -> Exchange.h client/ClientMessage.h -> Message.h client/ClientQueue.cpp -> Queue.cpp client/ClientQueue.h -> Queue.h git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@579340 13f79535-47bb-0310-9956-ffa450edef68
* 2006-12-01 Jim Meyering <meyering@redhat.com>Alan Conway2006-12-011-244/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This delta imposes two major changes on the C++ hierarchy: - adds autoconf, automake, libtool support - makes the hierarchy flatter and renames a few files (e.g., Queue.h, Queue.cpp) that appeared twice, once under client/ and again under broker/. In the process, I've changed many #include directives, mostly to remove a qpid/ or qpid/framing/ prefix from the file name argument. Although most changes were to .cpp and .h files under qpid/cpp/, there were also several to template files under qpid/gentools, and even one to CppGenerator.java. Nearly all files are moved to a new position in the hierarchy. The new hierarchy looks like this: src # this is the new home of qpidd.cpp tests # all tests are here. See Makefile.am. gen # As before, all generated files go here. lib # This is just a container for the 3 lib dirs: lib/client lib/broker lib/common lib/common/framing lib/common/sys lib/common/sys/posix lib/common/sys/apr build-aux m4 git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@481159 13f79535-47bb-0310-9956-ffa450edef68
* Posix EventChannel implementation using epoll. Placeholder for kevents.Alan Conway2006-11-291-1/+1
| | | | | | | | Dynamic thread pool EventChannelThreads to serve EventChannel. Misc cleanup/enhancements. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@480582 13f79535-47bb-0310-9956-ffa450edef68
* Merged AMQP version-sensitive generated files with C++ trunk. Phase 1 of ↵Kim van der Riet2006-11-221-13/+18
| | | | | | merge complete - all locations where version info is required in the framing, broker and client code, the version has been hard-coded to mahor=8, minor=0. Next step: make broker and client version-aware. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@478237 13f79535-47bb-0310-9956-ffa450edef68
* update Apache licenses to the current versionStephen Vinoski2006-11-101-13/+16
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@473568 13f79535-47bb-0310-9956-ffa450edef68
* Added POSIX equivalents to APR classes used by clients, inlined trivial calls.Alan Conway2006-11-091-4/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@473087 13f79535-47bb-0310-9956-ffa450edef68
* Removed invalid and redundant include.Gordon Sim2006-11-091-1/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@472844 13f79535-47bb-0310-9956-ffa450edef68
* Minor source reorg, see README.Alan Conway2006-11-061-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@471789 13f79535-47bb-0310-9956-ffa450edef68
* IO refactor phase 1. Reduced dependencies, removed redundant classes.Alan Conway2006-10-311-2/+2
| | | | | | | Renamed pricipal APR classes in preparation for move to apr namespace. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@469625 13f79535-47bb-0310-9956-ffa450edef68
* QPID-52: use of tr1 and unordered_map break build or RHEL4.Alan Conway2006-10-241-2/+2
| | | | | | | | | Replaced unordered_map with std::map. Use boost::shared_ptr instead of std::tr1::shared_ptr. Since we're using boost for other things now anyway it's simpler & more portable. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@467329 13f79535-47bb-0310-9956-ffa450edef68
* Build system reorg, see README and Makefile comments for details.Alan Conway2006-10-161-0/+237
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@464494 13f79535-47bb-0310-9956-ffa450edef68