summaryrefslogtreecommitdiff
path: root/cpp/src
Commit message (Collapse)AuthorAgeFilesLines
* Recoded writing code so that it doesn't allocate framing::Buffer on the heapAndrew Stitcher2007-08-011-33/+27
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@561877 13f79535-47bb-0310-9956-ffa450edef68
* * src/generate.sh: Moved requirements test to configure.acAlan Conway2007-08-015-50/+73
| | | | | | | | | | | | | | | | | | | | | * rubygen: Cleanup and improvements, template for cluster work. * configure.ac: - support for ruby code generator + cleanup. - moved "can generate" tests to configure.ac - removed redundant APR stuff. * bootstrap: Remove codegen from bootstrap, all in config/make. * src/Makefile.am (libqpidcommon_la_LIBADD): - Ruby code generator. - Improvements to existing generator rules. - Removed APR stuff. * configure.ac (CPPUNIT_CXXFLAGS): Removed APR stuff. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@561869 13f79535-47bb-0310-9956-ffa450edef68
* oprofile scriptCarl C. Trieloff2007-07-311-0/+18
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@561441 13f79535-47bb-0310-9956-ffa450edef68
* src/qpid/framing/Visitor.h:Alan Conway2007-07-312-35/+55
| | | | | | | | | | - Removed depdency on Handler, Visitor is a separate pattern. - QPID_VISITOR macro to generate visitor classes replaces use of mpl (Default limits on mpl::vector (20) is too low, concenred about compile time problems if raised to 150. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@561345 13f79535-47bb-0310-9956-ffa450edef68
* * Fix crash on shutdown due to underlying poller being shutdown twiceAndrew Stitcher2007-07-311-0/+4
| | | | | | | - Actually just made the poller ignore subsequent shutdown attempts git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@561279 13f79535-47bb-0310-9956-ffa450edef68
* Added Vistor.h to distributed sources in order to pass 'make distcheck'Gordon Sim2007-07-311-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@561271 13f79535-47bb-0310-9956-ffa450edef68
* Template visitor pattern for Handlers.Alan Conway2007-07-303-0/+133
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@561128 13f79535-47bb-0310-9956-ffa450edef68
* r797@fuschia: andrew | 2007-07-30 14:25:02 +0100Andrew Stitcher2007-07-308-851/+12
| | | | | | | | * Removed all the leader-follower acceptor code (APR based acceptor) * Removed the --enable/disable-apr-netio option to configure git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@560973 13f79535-47bb-0310-9956-ffa450edef68
* Extract Recoverable interface from MessageStore interface.Alan Conway2007-07-282-20/+23
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@560611 13f79535-47bb-0310-9956-ffa450edef68
* * src/tests/ais_check, cluster.mk: Run AIS tests only if:Alan Conway2007-07-2711-195/+46
| | | | | | | | | | | | | | - CLUSTER makefile conditional set by configure. - Effective gid == ais - aisexec is running Otherwise print a warning. * src/tests/EventChannelConnectionTest.cpp * src/qpid/cluster/doxygen_overview.h Removed unused files. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@560404 13f79535-47bb-0310-9956-ffa450edef68
* Drop SessionFrame, UUID is not required and more efficient to transmit plainAlan Conway2007-07-274-35/+21
| | | | | | | AMQFrames. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@560356 13f79535-47bb-0310-9956-ffa450edef68
* * Asynchronous network IO subsystemAndrew Stitcher2007-07-2726-1862/+691
| | | | | | | | | | | | | | | | | | - This is now implemented such that it very nearly only depends on the platform code (Socker & Poller), this is not 100% true at present, but should be simple to finish. - This is still not the default (use "./configure --disable-apr-netio" to get it) - Interrupting the broker gives a known error - Default for number of broker io threads is not correct (needs to be number of CPUs - it will run slower with too many io threads) * EventChannel code - Deleted all EventChannel code as it's entirely superceded by this new shiny code ;-) * Rearranged the platform Socket implementations a bit for better abstraction git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@560323 13f79535-47bb-0310-9956-ffa450edef68
* Use execution layer to acknowledge messages. Gordon Sim2007-07-2725-313/+395
| | | | | | | | | Turn off 0-9 framing of requests and responses. Some refactoring around message delivery. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@560285 13f79535-47bb-0310-9956-ffa450edef68
* Remove unused file.Alan Conway2007-07-271-161/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@560284 13f79535-47bb-0310-9956-ffa450edef68
* * src/tests/ais_check, cluster.mk: Run AIS tests only if:Alan Conway2007-07-273-121/+42
| | | | | | | | | | | | | | - CLUSTER makefile conditional set by configure. - Effective gid == ais - aisexec is running Otherwise print a warning. * src/tests/EventChannelConnectionTest.cpp * src/qpid/cluster/doxygen_overview.h Removed unused files. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@560234 13f79535-47bb-0310-9956-ffa450edef68
* * README: Instructions for openais install.Alan Conway2007-07-2611-741/+83
| | | | | | | | | | | | | | * configure.ac: Enable clustering if suitable openais is present. * src/tests/Cluster.cpp, .h, Cluster_child: Updated for 0-10 * src/qpid/sys/ConcurrentQueue.h: Added waitPop() * src/Makefile.am, src/qpid/sys/ThreadSafeQueue.h, ProducerConsumer.h: Removed unused code, ConcurrentQueue provides same functionality. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@559859 13f79535-47bb-0310-9956-ffa450edef68
* Fix code generation rule to use timestamp file.Alan Conway2007-07-251-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@559619 13f79535-47bb-0310-9956-ffa450edef68
* Fix code generation rule so generator runs only once even if multiple ↵Alan Conway2007-07-251-1/+4
| | | | | | generator files have changed. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@559617 13f79535-47bb-0310-9956-ffa450edef68
* * Summary:Alan Conway2007-07-2416-79/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Wiring (declare/delete/bind) is replicated via AIS. - TestOptions includes all logging options. - Logger automatically parses env vars so logging can be enabled for any program linked with libqpidcommon e.g. by setting QPID_TRACE=1. * src/qpid/cluster/SessionManager.cpp: Handle frames from cluster - Forward to BrokerAdapter for execution. - Suppress responses in proxy. * src/tests/TestOptions.h (Options): Logging options, --help option. * src/qpid/client/ClientConnection.cpp: Removed log initialization. Logs are initialized either in TestOptions or automatically from env vars, e.g. QPID_TRACE, * src/qpid/QpidError.h (class QpidError): Initialize Exception in constructor so messages can be logged. * src/qpid/framing/ChannelAdapter.h: Made send() virtual. * src/tests/Cluster_child.cpp: UUID corrected. * src/qpid/broker/Broker.cpp: Pass chains to updater by ref. * src/qpid/Options.cpp (parse): Fix log settings from environment. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@559171 13f79535-47bb-0310-9956-ffa450edef68
* Initial support for latest approved 0-10 xml (with some transitional hacks ↵Gordon Sim2007-07-2431-676/+202
| | | | | | included). git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@559059 13f79535-47bb-0310-9956-ffa450edef68
* Disable Cluster test.Alan Conway2007-07-231-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@558711 13f79535-47bb-0310-9956-ffa450edef68
* * src/tests/cluster.mk: Enable cluster test.Alan Conway2007-07-2311-79/+108
| | | | | | | | | | | | | | | | | | | | | | | | | * src/tests/Cluster.h (class TestHandler): Fixed race in TestHandler::waitFor * src/tests/Cluster.cpp - Allow separate start of parent and child processes. * src/qpid/Options.cpp (parse): Skip argv parsing if argc=0. * src/qpid/cluster/Cluster.cpp (configChange): assert group name. * src/qpid/cluster/Cpg.cpp, .h: Additional logging * src/qpid/framing/AMQFrame.cpp: Initialize all fields in ctor, avoid valgrind warning. * src/qpid/log/Logger.cpp: Initialize singleton automatically from environment so logging can be used on tests. * src/qpid/sys/Time.h: Avoid overflow in AbsTime(t, TIME_INFINITE) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@558710 13f79535-47bb-0310-9956-ffa450edef68
* Added initial 'execution-layer' to try out methods form the 0-10 execution ↵Gordon Sim2007-07-2319-99/+196
| | | | | | class. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@558700 13f79535-47bb-0310-9956-ffa450edef68
* * src/tests/start_broker, stop_broker:Alan Conway2007-07-192-2/+5
| | | | | | | - Fix bug: tripping over old log files. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@557793 13f79535-47bb-0310-9956-ffa450edef68
* * Summary:Alan Conway2007-07-1918-181/+368
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Connect cluster handlers into broker handler chains. - Progress on wiring replication. * src/tests/cluster.mk: Temporarily disabled Cluster test. * src/tests/Cluster.h, cpp, Cluster_child.cpp: Updated to use UUIDs. * src/qpidd.cpp: - Load optional libs (cluster) - Include plugin config in options.parse. * src/qpid/cluster/SessionManager.h: - Create sessions, update handler chains (as HandlerUpdater) - Handle frames from cluster. * src/qpid/cluster/ClusterPlugin.h, .cpp: - renamed from ClusterPluginProvider - Create and connect Cluster and SessionManager. - Register SessionManager as HandlerUpdater. * src/qpid/cluster/Cluster.h, .cpp: Refactor as SessionFrameHandler. * src/qpid/broker/Connection.cpp: Apply HandlerUpdaters. * src/qpid/broker/Broker.h, .cpp: - Initialize plugins - Apply HandlerUpdaters * src/qpid/Plugin.h, .cpp: Simplified plugin framework. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@557788 13f79535-47bb-0310-9956-ffa450edef68
* Added vg_tests to EXTRA_DIST.Alan Conway2007-07-191-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@557709 13f79535-47bb-0310-9956-ffa450edef68
* * src/tests/start_broker, stop_broker: Use valgrind on broker.Alan Conway2007-07-197-25/+50
| | | | | | | | | | | * src/tests/run_test, vg_check: - factored valgrind check out of run_test for reuse in stop_broker. * src/tests/Makefile.am, stop_broker, README: - kill_broker renamed stop_broker. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@557692 13f79535-47bb-0310-9956-ffa450edef68
* Fix memory error that was crashing broker.Alan Conway2007-07-191-1/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@557672 13f79535-47bb-0310-9956-ffa450edef68
* Added difference operator to the sequence numberGordon Sim2007-07-193-5/+83
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@557570 13f79535-47bb-0310-9956-ffa450edef68
* removed the need to pass MethodContext/RequestId through proxy and ↵Gordon Sim2007-07-1931-374/+525
| | | | | | handler/adapter interfaces git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@557522 13f79535-47bb-0310-9956-ffa450edef68
* * src/qpid/broker/Daemon.cpp, .hAlan Conway2007-07-194-202/+197
| | | | | | | | | | | | | | | | | | | - Rewrote to remove libdaemon dependency. - PID file stored in /var/run if root, /tmp otherwise. * src/qpidd.cpp: Use new Daemon.cpp. * lib/broker/Makefile.am (libqpidbroker_la_LIBADD): - Daemon.cpp now needs -lboost_iostreams * NOTICE, README, qpidc.spec.in: Removed mention of libdaemon. * configure.ac: - removed libdaemon - cluster off by default - no ais dependencies. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@557455 13f79535-47bb-0310-9956-ffa450edef68
* Fixed MT safety issues pointed out by Gordon.Carl C. Trieloff2007-07-187-20/+39
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@557343 13f79535-47bb-0310-9956-ffa450edef68
* Updated queue class, can run dispatch on seperate thread or on Carl C. Trieloff2007-07-173-40/+45
| | | | | | | | | | | thread servicing the request. current set to use a worker - better test results. controlled by setting serilizable true - no worker, false, use a worker git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@557052 13f79535-47bb-0310-9956-ffa450edef68
* Some refactoring towards a more decoupled handler chain structure:Gordon Sim2007-07-1719-193/+506
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Connection no longer depends on Channel; it contains a map of FrameHandler::Chains. (The construction of the chains still refers to specific handlers). * Channel is no longer tied to ChannelAdapter through inheritance. The former is independent of any particular handler chain or protocol version, the latter is still used by ConnectionAdapter and SemanticHandler in the 0-9 chain. * A DeliveryAdapter interface has been introduced as part of the separation of ChannelAdapter from Channel. This is intended to adapt from a version independent core to version specific mechanisms for sending messages. i.e. it fulfills the same role for outputs that e.g. BrokerAdapter does for inputs. (Its not perfect yet by any means but is a step on the way to the correct model I think). * The connection related methods sent over channel zero are implemented in their own adapter (ConnectionAdapter), and are entirely separate from the semantic layer. The channel control methods are still bundled with the proper semantic layer methods; they too can be separated but would have to share the request id with the semantic method handler due to the nature of the 0-9 WIP. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@556846 13f79535-47bb-0310-9956-ffa450edef68
* * src/qpid/sys/Serializer.h: Serialize calls to a function,Alan Conway2007-07-168-15/+448
| | | | | | | | | by queueing and dispatching in a separate thread if necessary. * src/qpid/sys/*/Mutex.h: trylock to return a bool. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@556679 13f79535-47bb-0310-9956-ffa450edef68
* Add missing header file to distribution.Alan Conway2007-07-131-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@556069 13f79535-47bb-0310-9956-ffa450edef68
* * src/qpid/sys/ConcurrentQueue.h: Thread-safe queue with atomic pop()Alan Conway2007-07-133-0/+279
| | | | | | | | | | | | | | * src/tests/ConcurrentQueue.cpp: Experimental code to compare a dual-vector, dual-lock implementation with a simple locked deque. Results indicate the more complex design does not perform any better, so ConcurrentQueue.h uses the simpler design. Not part of default test harness, run by hand to see results. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@556045 13f79535-47bb-0310-9956-ffa450edef68
* * Add libuuid to libcommon link (for when apr goes away)Andrew Stitcher2007-07-127-123/+431
| | | | | | | | * Latest version of AsynchIO code git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@555455 13f79535-47bb-0310-9956-ffa450edef68
* refactoring: Gordon Sim2007-07-0912-143/+296
| | | | | | | | | * separated out the connection level method handling from semantic level (session/channel level should also be separated) * reduce coupling between Connection and Channel git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@554590 13f79535-47bb-0310-9956-ffa450edef68
* - replaced Mutexes with 2 RWlocks, about 2% less time in wait-state with change.Carl C. Trieloff2007-07-052-13/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@553611 13f79535-47bb-0310-9956-ffa450edef68
* - missing APR mutex update - should now all build againCarl C. Trieloff2007-07-051-0/+52
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@553576 13f79535-47bb-0310-9956-ffa450edef68
* - Added RW lockCarl C. Trieloff2007-07-0514-30/+124
| | | | | | | | | | | - Updated all exchanges to us RW lock - Updated all registries to us RW lock - Still need to do (client, channel, message and queues) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@553549 13f79535-47bb-0310-9956-ffa450edef68
* * src/qpid/cluster/SessionFrame.cpp, .h: Wrap AMQFrame withAlan Conway2007-07-0514-85/+217
| | | | | | | | | | | | | | | | | | | | session UUID and direction. * src/qpid/cluster/Cluster.cpp, .h: Use SessionFrame. * src/qpid/framing/AMQFrame.h, .cpp: Added setBody(), inline getBody() * src/qpid/framing/Uuid.h, .cpp: Clean up constructors, inline. * src/qpid/framing/Buffer.h: Put/get byte*, size_T. * src/qpid/cluster/SessionManager.cpp, .h: - Maintain the session map. - Handle frames from cluster, dispatch to proper channels. - Implement HandlerUpdater for new channels and maintains git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@553543 13f79535-47bb-0310-9956-ffa450edef68
* Fix for QPID-534. Get now detects closure correctly. Also fixed broker to ↵Gordon Sim2007-07-0512-30/+148
| | | | | | allow channel.close-ok (and fixed client to send it). git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@553441 13f79535-47bb-0310-9956-ffa450edef68
* Encode/decode for UUIDs.Alan Conway2007-07-045-1/+44
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@553083 13f79535-47bb-0310-9956-ffa450edef68
* 2007-07-02 <aconway@redhat.comAlan Conway2007-07-0415-346/+416
| | | | | | | | | | | | | | | | * qpid/sys/Shlib.h, .cpp: Portable shared library abstraction. - Shlib: load, unload, getSymbol - AutoShlib: unload in destructor. * qpid/sys/apr/Shlib.cpp sys/posix/Shlib.cpp: APR/Posix impls * qpid/sys/Module.h: Reimplemented Module in terms of AutoShlib. * qpid/Plugin.cpp, .h: Removed dlopen - use Shlib instead. * qpid/broker/Broker.cpp: Added missing #include "qpid/log/Statement.h" * tests/Shlib.cpp, shlibtest.cpp: Unit test git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@553056 13f79535-47bb-0310-9956-ffa450edef68
* Fix error from previous commit.Alan Conway2007-07-041-1/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@553033 13f79535-47bb-0310-9956-ffa450edef68
* * cluster/ClasifierHandler: classifies frames for clustering treatment.Alan Conway2007-07-036-6/+156
| | | | | | | Currently classifies wiring separately from everything else. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@553024 13f79535-47bb-0310-9956-ffa450edef68
* Added UUID type based on libuuid from e2fsprogs package.Alan Conway2007-07-035-0/+170
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@552970 13f79535-47bb-0310-9956-ffa450edef68
* * src/tests/cluster_client.cpp: Cluster client test not yet included in ↵Alan Conway2007-07-034-0/+118
| | | | | | | | | | test harness. * src/tests/start_cluster,src/tests/stop_cluster: scripts to start/stop cluster of processes on localhost. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@552941 13f79535-47bb-0310-9956-ffa450edef68