summaryrefslogtreecommitdiff
path: root/cpp/src/qpid
Commit message (Collapse)AuthorAgeFilesLines
* Use sessions reference to broker rather than connections in semantic state ↵Gordon Sim2008-02-262-3/+4
| | | | | | as the sessions ref is valid even when not attached. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@631128 13f79535-47bb-0310-9956-ffa450edef68
* Some refactoring of the 0-10 codepath (being migrated to final spec) that ↵Gordon Sim2008-02-2526-117/+781
| | | | | | primarily colocates the current session and execution layers to facilitate implementing the new session layer that will now encompass this behaviour. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@630934 13f79535-47bb-0310-9956-ffa450edef68
* Fixed rubygen to skip unchanged generated files, prevents needlessAlan Conway2008-02-223-1/+86
| | | | | | | | | rebuilding every time the code generator changes. Start of amqp 0-10 mapping, work in progress. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@630353 13f79535-47bb-0310-9956-ffa450edef68
* Provide separate name, message and error code on all Exceptions.Alan Conway2008-02-222-14/+38
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@630296 13f79535-47bb-0310-9956-ffa450edef68
* Fixes to prevent problems with async store when queue is deleted before all ↵Gordon Sim2008-02-214-16/+26
| | | | | | messages are completed or dequeued git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@629999 13f79535-47bb-0310-9956-ffa450edef68
* Start moving towards final 0-10 spec:Gordon Sim2008-02-2136-117/+1382
| | | | | | | | | | | | | * 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
* AMQP 0-10 type system:Alan Conway2008-02-217-0/+460
| | | | | | | | | | | | | | | | | | - new lightweight templated serialization framework - all fixed-size built-in types tested and working - all vbin & str types implemented, tests disabled need to fix encoding. The following types remain to be implemented: byte-ranges 2 byte ranges within a 64-bit payload sequence-set 2 ranged set representation map 0xa8 4 a mapping of keys to typed values list 0xa9 4 a series of consecutive type-value pairs array 0xaa 4 a defined length collection of values of a single type struct32 0xab 4 a coded struct with a 32-bit size git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@629679 13f79535-47bb-0310-9956-ffa450edef68
* Added non-optional enum { SYNC, ASYNC } parameter to newSession.Alan Conway2008-02-204-13/+49
| | | | | | | 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
* sys::RefCountedMap - reference-counted weak map of reference-counted objects.Alan Conway2008-02-192-94/+126
| | | | | | | | Ensures objects are atomically deleted and removed from the map. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@629263 13f79535-47bb-0310-9956-ffa450edef68
* STL-style intrsive linked lists, single (ISList) and double (IList)Alan Conway2008-02-193-135/+377
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@629253 13f79535-47bb-0310-9956-ffa450edef68
* Fixed race condition in the examples: when a listener program printsAlan Conway2008-02-185-0/+28
| | | | | | | | | | | | | its "ready" message, the commands it has sent to the broker may not yet be complete. This results in sporadic lost messages if the producer is started immediately (e.g. by a script.) - Added Session::sync(), wait till all commands to date have completed. - Call sync() before printing "ready" in listener example programs - Removed sleep from verify script git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@628875 13f79535-47bb-0310-9956-ffa450edef68
* Requests to release a message that has not been acquired should be ignored.Gordon Sim2008-02-181-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@628659 13f79535-47bb-0310-9956-ffa450edef68
* Fixed bug in browsing that failed to deal correctly with 'gaps' in message ↵Gordon Sim2008-02-141-7/+14
| | | | | | sequence. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@627718 13f79535-47bb-0310-9956-ffa450edef68
* Broker::connect - connect to URL, return ConnectionInputHandler.Alan Conway2008-02-138-14/+85
| | | | | | | | | | | | | | | | | | M src/qpid/broker/Broker.cpp M src/qpid/broker/Broker.h M src/qpid/sys/Acceptor.h M src/qpid/sys/AsynchIOAcceptor.cpp AMQBody::match - test for matching frames. M src/qpid/framing/AMQBody.cpp M src/qpid/framing/AMQBody.h Url::throwIfEmpty() - test for empty URL. M src/qpid/Url.cpp M src/qpid/Url.h git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@627484 13f79535-47bb-0310-9956-ffa450edef68
* Patches from Ted Ross:Alan Conway2008-02-122-5/+7
| | | | | | | | | Fix for bignumber problem in the management console. Fix for broker crash when sessions are closed via management. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@627171 13f79535-47bb-0310-9956-ffa450edef68
* Quote all non-printable ASCII characters (not just control characters)Alan Conway2008-02-121-11/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@620889 13f79535-47bb-0310-9956-ffa450edef68
* Fixed typoGordon Sim2008-02-121-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@620861 13f79535-47bb-0310-9956-ffa450edef68
* Remove dependency on sys::Socket for management ID of connections.Alan Conway2008-02-114-8/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@620622 13f79535-47bb-0310-9956-ffa450edef68
* Check valid listener (or handler) exist and log error if not. See QPID-783.Gordon Sim2008-02-111-4/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@620479 13f79535-47bb-0310-9956-ffa450edef68
* From Ted Ross, https://issues.apache.org/jira/browse/QPID-782Alan Conway2008-02-083-1/+15
| | | | | | | | | | | | The attached patch makes the following changes: The --load-dir option has been renamed to --module-dir The --no-modules option and been replaced by the --no-module-dir option. This new option suppresses ONLY the loading of modules from the directory. The --no-data-dir option has been added to suppress the use of a data directory. Logging has been added for data directory lock and unlock. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@620017 13f79535-47bb-0310-9956-ffa450edef68
* Clean shutdown of broker: Moved signal unsafe code from Broker::shutdownAlan Conway2008-02-075-1/+12
| | | | | | | to ~Broker, moved shutdown logging from shutdown handler to main() in qpidd.cpp git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@619646 13f79535-47bb-0310-9956-ffa450edef68
* Quote unprintable control characters in log output.Alan Conway2008-02-071-1/+29
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@619424 13f79535-47bb-0310-9956-ffa450edef68
* From Ted Ross, https://issues.apache.org/jira/browse/QPID-780Alan Conway2008-02-064-2/+126
| | | | | | | | | | | | | | | | Implementation of --data-dir for qpidd. Additions by myself: - set QPID_DATA_DIR= in test env so existing tests can run with no data dir. - src/Makefile.am and qpidc.spec.in install /var/lib/qpidd directory. NOTE: qpidd with no optoins will now FAIL if it cannot write /var/lib/qpidd. Start it with --data-dir= or set QPID_DATA_DIR= in your environement to run with no data directory. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@619200 13f79535-47bb-0310-9956-ffa450edef68
* Added testSendToSelf for https://bugzilla.redhat.com/show_bug.cgi?id=410551Alan Conway2008-02-055-14/+20
| | | | | | | | | | | | | | | | | | | | M src/tests/ClientSessionTest.cpp Disabled management for BrokerFixture - management singleton assumes only one broker per process, causes shutdown races with fixtures. M src/tests/BrokerFixture.h Made Timer::stop() idempotent M src/qpid/broker/Timer.cpp M src/qpid/broker/Timer.h Added STL-style size() and empty() M src/qpid/sys/BlockingQueue.h M src/qpid/client/LocalQueue.cpp M src/qpid/client/LocalQueue.h git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@618770 13f79535-47bb-0310-9956-ffa450edef68
* Turn management on by defualtCarl C. Trieloff2008-02-041-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@618428 13f79535-47bb-0310-9956-ffa450edef68
* Remove includes to files no longer generated.Gordon Sim2008-02-011-2/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@617607 13f79535-47bb-0310-9956-ffa450edef68
* Missed a couple of new files in previous commit.Gordon Sim2008-02-012-0/+162
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@617594 13f79535-47bb-0310-9956-ffa450edef68
* Initial cut of inter-broker bridgingGordon Sim2008-02-0111-33/+363
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@617590 13f79535-47bb-0310-9956-ffa450edef68
* Cluster code fixed for changes in codebase.Alan Conway2008-02-016-59/+120
| | | | | | | | | | | - Using SessionManager::Observer - Better ais test setup, only need to be member of ais group. - Update cluster_client - SessionState holds handler chains. - Cluster frames include next handler ptr. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@617582 13f79535-47bb-0310-9956-ffa450edef68
* Added cluster URL configuration, defaults to all interfaces.Alan Conway2008-02-018-43/+81
| | | | | | | | | | | src/qpid/Plugin.h - added doxygen src/qpid/Url.cpp,.h - cache string rep, op==, istream/ostream ops. src/qpid/broker/Broker.h,.cpp - removed getUrl() src/qpid/cluster/Cluster.h,.cpp - use Url class src/qpid/cluster/ClusterPlugin.cpp - added --url configuration. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@617533 13f79535-47bb-0310-9956-ffa450edef68
* Generate URLs for local host.Alan Conway2008-01-312-1/+48
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@617286 13f79535-47bb-0310-9956-ffa450edef68
* Make ports accesible through socket interface.Gordon Sim2008-01-314-4/+59
| | | | | | | | Add local port to each logged frame in the client Connector git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@617188 13f79535-47bb-0310-9956-ffa450edef68
* Remove Socket param from Connection constructor, pass a string id instead.Alan Conway2008-01-303-4/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@616927 13f79535-47bb-0310-9956-ffa450edef68
* Parse out the userid and password from the response; a small step on the ↵Gordon Sim2008-01-303-4/+36
| | | | | | road to authentication. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@616736 13f79535-47bb-0310-9956-ffa450edef68
* Added Observer to SessionManager for cluster use.Alan Conway2008-01-292-0/+21
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@616511 13f79535-47bb-0310-9956-ffa450edef68
* Re-enabled build of cluster code when openais is installed.Alan Conway2008-01-298-234/+16
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@616507 13f79535-47bb-0310-9956-ffa450edef68
* Log peer address with SEND/RECV messages.Alan Conway2008-01-291-2/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@616404 13f79535-47bb-0310-9956-ffa450edef68
* Remove references to defunct broker::ChannelHandlerAlan Conway2008-01-291-2/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@616402 13f79535-47bb-0310-9956-ffa450edef68
* Provide public read-access to IListNode pointers, so frame handlersAlan Conway2008-01-291-1/+6
| | | | | | can use then to find the next frame. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@616396 13f79535-47bb-0310-9956-ffa450edef68
* Deleted unused classes, adjusted files that still mention them.Alan Conway2008-01-299-245/+8
| | | | | | | | | | | D src/qpid/framing/ChannelAdapter.cpp D src/qpid/framing/ChannelAdapter.h D src/qpid/framing/HandlerUpdater.h D src/tests/BrokerChannelTest.cpp D src/tests/MockChannel.h git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@616353 13f79535-47bb-0310-9956-ffa450edef68
* Fixed re-entry problem with exceptions throw in logger code.Alan Conway2008-01-242-3/+4
| | | | | | | | - src/qpid/log/Logger.cpp - src/qpid/log/Statement.cpp git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@615075 13f79535-47bb-0310-9956-ffa450edef68
* Fix error in NDEBUG builds.Alan Conway2008-01-241-2/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@615073 13f79535-47bb-0310-9956-ffa450edef68
* Improved/additional client API tests.Alan Conway2008-01-2419-94/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced InProcessBroker with a more accurate loopback BrokerFixture. - Added asserts for mutex/condition/thread errors in debug build. - Added client tests for several exception conditions. - Added peer address to log ouput, client/server distinguished by (addr) or [addr] - Fixed various deadlocks & races exposed by the new asserts & tests. File-by-file: New BrokerFixture replaces InProcessBroker D src/tests/InProcessBroker.h M src/tests/BrokerFixture.h M src/tests/SocketProxy.h M src/tests/Makefile.am Made it run a bit faster. M src/tests/quick_perftest Redundant D src/tests/APRBaseTest.cpp Updated tests to use BrokerFixture M src/tests/ClientChannelTest.cpp M src/tests/exception_test.cpp M src/tests/ClientSessionTest.cpp Print thread IDs in decimal, same as GDB. M src/qpid/log/Logger.cpp Assert mutex/condition ops in debug build. M src/qpid/sys/posix/check.h M src/qpid/sys/posix/Mutex.h M src/qpid/sys/posix/Condition.h M src/qpid/sys/posix/Thread.h Added toFd() so SocketProxy can use ::select() M src/qpid/sys/Socket.h M src/qpid/sys/posix/Socket.cpp Fixes for races & deadlocks shown up by new tests & asserts. Mostly shutdown/close issues. M src/qpid/client/ConnectionHandler.h M src/qpid/client/ConnectionImpl.cpp M src/qpid/client/Demux.h M src/qpid/client/SessionCore.cpp M src/qpid/client/ConnectionHandler.cpp M src/qpid/client/Connector.h M src/qpid/client/Demux.cpp M src/qpid/client/Dispatcher.cpp M src/qpid/client/ConnectionImpl.h Logging peer address. M src/qpid/sys/AsynchIOAcceptor.cpp git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@615063 13f79535-47bb-0310-9956-ffa450edef68
* examples/Makefile.am:Alan Conway2008-01-232-2/+3
| | | | | | | | | | | | | | - verify.tar target, tars up verify script for easy transport to installation. examples/examples/pub-sub/verify.in: fixed typeo. examples/verify: don't kill the pub-sub listener, it should exit gracefully. src/qpid/client/Dispatcher.cpp src/qpid/client/SubscriptionManager.cpp - Fix uninitialized autoStop member variable. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@614587 13f79535-47bb-0310-9956-ffa450edef68
* Some minor changes to doc; primarily aimed at making the list of classesGordon Sim2008-01-2311-11/+29
| | | | | | | | listed as client API more useful. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@614551 13f79535-47bb-0310-9956-ffa450edef68
* qpid/IList.h: Added public T* getNext(), T* getPrev() to IListNode so node ↵Alan Conway2008-01-181-9/+21
| | | | | | | | | subclasses can follow their own links. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@613290 13f79535-47bb-0310-9956-ffa450edef68
* Add optional host, port arguments to all example clients.Alan Conway2008-01-182-3/+15
| | | | | | | | | | Verify can start private broker & pass host/port to examples, by default it still uses local host/standard port. Added host:port to Socket error messages. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@613018 13f79535-47bb-0310-9956-ffa450edef68
* Intrusive list template qpid::IList and unit tests.Alan Conway2008-01-171-0/+175
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@612976 13f79535-47bb-0310-9956-ffa450edef68
* Set the exchange field in delivery properties on the broker.Gordon Sim2008-01-171-0/+1
| | | | | | | | (required an adjustment to the size of messages in the bytes based credit test) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@612805 13f79535-47bb-0310-9956-ffa450edef68
* Apply patch from QPID-732 by Ted Ross.Alan Conway2008-01-1411-73/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The attached patch provides support for plugin modules in the C++ broker. - Plugins are supported (--load <lib>, --load-dir <dir> options provided) - Command options may be extended by plugins. - A workaround was added to make config-file parsing tolerant of unregistered options. - Store-specific options were removed so they can be supplied by a plugin - A pre-log facility was introduced so log messages can be generated prior to the initialization of the logging module. File-by-file details: M cpp/src/qpidd.cpp Added support for loadable plugin modules. This involves a two-phased handling of command line/config options. Phase-1 determines which modules to load and phase-2 is based on all of the command-line options supplied by qpidd and the loaded plugins. M cpp/src/Makefile.am Added dependency for boost_filesystem library. M cpp/src/qpid/Plugin.h Added 'earlyInitialize' method. Plugins are now initialized at two points: earlyInitialize is called prior to broker initialization and initialize is called at the end of broker init. This allows modules like the store to be hooked in early and other modules to be able to assume that the broker target is fully functional. M cpp/src/qpid/cluster/ClusterPlugin.cpp Added stub for the new pure-virtual earlyInitialize method. M cpp/src/qpid/Options.h M cpp/src/qpid/Options.cpp Added 'allowUnknown' option in the parse method. This is needed in phase-1 command processing when there are options for not-yet-loaded plugin modules. Because the stable version of boost does not permit 'allowUnknown' for config files, a workaround has been implemented in this module to pre-filter the config file text removing lines that represent unknown options. M cpp/src/qpid/broker/Broker.h M cpp/src/qpid/broker/Broker.cpp Removed all store-specific command options. Updated logic to allow the store to be a plugin module. M cpp/src/qpid/broker/DtxManager.h M cpp/src/qpid/broker/DtxManager.cpp M cpp/src/qpid/broker/QueueRegistry.h M cpp/src/qpid/broker/QueueRegistry.cpp Changed API to these classes such that the store is no longer supplied in the constructor but is supplied later, before any operations are called for. M cpp/src/qpid/broker/MessageStoreModule.h M cpp/src/qpid/broker/MessageStoreModule.cpp This module is still needed to provide "exception transfer" service. It was changed to not load the store module but rather use the already-loaded plugin store. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@611823 13f79535-47bb-0310-9956-ffa450edef68