summaryrefslogtreecommitdiff
path: root/cpp/lib/common/sys
Commit message (Collapse)AuthorAgeFilesLines
* Changed u_int<n>_t to uint<n>_t for posix compliance.Alan Conway2007-03-152-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@518733 13f79535-47bb-0310-9956-ffa450edef68
* Merged revisions 497341 via svnmerge from Alan Conway2007-03-131-1/+1
| | | | | | | | | | | | | https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid ........ r497341 | gsim | 2007-01-18 03:11:12 -0500 (Thu, 18 Jan 2007) | 3 lines Close connection when connection.close is sent to client. ........ git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@517859 13f79535-47bb-0310-9956-ffa450edef68
* Merged revisions 496678 via svnmerge from Alan Conway2007-03-131-1/+1
| | | | | | | | | | | | | https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid ........ r496678 | kpvdr | 2007-01-16 08:09:50 -0500 (Tue, 16 Jan 2007) | 1 line Fixed QPID-296 Header guards may not be compliant with C++ standard ........ git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@517855 13f79535-47bb-0310-9956-ffa450edef68
* Merged revisions 496665 via svnmerge from Alan Conway2007-03-131-3/+9
| | | | | | | | | | | | | https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid ........ r496665 | gsim | 2007-01-16 07:00:22 -0500 (Tue, 16 Jan 2007) | 3 lines Some basic additional error logging of framing errors. ........ git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@517851 13f79535-47bb-0310-9956-ffa450edef68
* * cpp/lib/client/Basic.*, ClientChannel.*: Extracted Basic functionalityAlan Conway2007-02-221-3/+2
| | | | | | | | from Channel into separate Basic class. * cpp/lib/client/*, cpp/test/*: Adjusted for new Channel::getBasic() API. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@510705 13f79535-47bb-0310-9956-ffa450edef68
* Fix spurious error message printed by client when broker closes connection.Alan Conway2007-02-211-2/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@510180 13f79535-47bb-0310-9956-ffa450edef68
* Thread safety fixes for race conditions on incoming messages.Alan Conway2007-02-213-78/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cpp/lib/client/MessageListener.h: const correctness. * cpp/tests/*: MessageListener const change. * cpp/lib/broker/Content.h: Removed out-of-date FIXME comments. * cpp/lib/client/ClientChannel.h/ .cpp(): - added locking for consumers map and other member access. - refactored implementations of Basic get, deliver, return: most logic now encapsulted in IncomingMessage class. - fix channel close problems. * cpp/lib/client/ClientMessage.h/.cpp: - const correctness & API convenience fixes. - getMethod/setMethod/getHeader: for new IncomingMessage * cpp/lib/client/Connection.h/.cpp: - Fixes to channel closure. * cpp/lib/client/IncomingMessage.h/.cpp: - Encapsulate *all* incoming message handling for client. - Moved handling of BasicGetOk to IncomingMessage to fix race. - Thread safety fixes. * cpp/lib/client/ResponseHandler.h/.cpp: - added getResponse for ClientChannel. * cpp/lib/common/Exception.h: - added missing throwSelf implementations. - added ShutdownException as general purpose shut-down indicator. - added EmptyException as general purpose "empty" indicator. * cpp/lib/common/sys/Condition|Monitor|Mutex.h|.cpp: - Condition variable abstraction extracted from Monitor for situations where a single lock is associated with multiple conditions. * cpp/tests/ClientChannelTest.cpp: - Test incoming message transfer, get, consume etc. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@510161 13f79535-47bb-0310-9956-ffa450edef68
* * cpp/lib/client/ClientMessage.h/.cpp: Added Message constructor taking data.Alan Conway2007-02-172-0/+110
| | | | | | | | | | | | | | | | | * cpp/lib/client/IncomingMessage.cpp: Simplified message aggregation. * cpp/lib/common/framing/AMQ*Body.h: remove unnecessary virtual inheritance. * cpp/lib/common/framing/AMQMethodBody.h: add bool isRequest, isResponse * cpp/lib/common/sys/Mutex.h (class ScopedUnlock): Added ScopedUnlock * cpp/lib/common/sys/ThreadSafeQueue.h: Thread-safe queue template. * cpp/tests/BrokerChannelTest.cpp: Renamed from ChannelTest. * cpp/tests/ClientChannelTest.cpp: Test client API. * cpp/tests/RequestResponseTest.cpp: Removed empty test. * cpp/lib/client/Connection.h,.cpp: - non-static channelIdCounter - No close() in dtor. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@508705 13f79535-47bb-0310-9956-ffa450edef68
* * cpp/lib/common/sys/ProducerConsumer.h:Alan Conway2007-02-144-21/+368
| | | | | | | | | | | | | | | General-purpose producer-consumer synchronization. Anywhere we have producer/consumer threads in qpid we should re-use this sync object rather than re-inventing the synchronization each time. * cpp/lib/common/sys/AtomicCount.h: Separated ScopedIncrement/ScopedDecrement into ScopedIncrement.h * cpp/tests/InProcessBroker.h: Added class InProcessBrokerClient, a self contained in-process client + broker convenience for tests. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@507560 13f79535-47bb-0310-9956-ffa450edef68
* * client/* framing/*: fixed client-side request ID processing.Alan Conway2007-01-301-2/+3
| | | | | | | | | | | | | | * cpp/tests/InProcessBroker.h: For tests: connect to an in-process broker directly, bypass the network. Keeps log of client/broker conversation for verification in test code. * cpp/tests/FramingTest.cpp (testRequestResponseRoundtrip): Client/broker round-trip test for request/reponse IDs and response mark. * APRAcceptor.cpp (APRAcceptor): fixed valgrind uninitialized error. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@501502 13f79535-47bb-0310-9956-ffa450edef68
* * Added ClientAdapter - client side ChannelAdapter. Updated client side.Alan Conway2007-01-292-2/+2
| | | | | | | | | | | | | | | | * Moved ChannelAdapter initialization from ctor to init(), updated broker side. * Improved various exception messages with boost::format messages. * Removed unnecssary virtual inheritance. * Widespread: fixed incorrect non-const ProtocolVersion& parameters. * Client API: pass channels by reference, not pointer. * codegen: - MethodBodyClass.h.templ: Added CLASS_ID, METHOD_ID and isA() template. - Various: fixed non-const ProtocolVersion& parameters. * cpp/bootstrap: Allow config arguments with -build. * cpp/gen/Makefile.am: Merged codegen fixes from trunk. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@501087 13f79535-47bb-0310-9956-ffa450edef68
* Last big refactoring for 0-9 framing. Still need additional tests &Alan Conway2007-01-196-13/+13
| | | | | | | | | | | | | | | | debugging but the overall structure is all in place. * configure.ac: Added -Wno_virtual_overload warning * ChannelTest.cpp, MessageBuilderTest.cpp: Fixed virtual overload warnings. * ChannelAdapter.cpp: Common base for client/broker adapters. Creates invocation context, handles request/resposne IDs. * CppGenerator.java: - Proxies send methods using MethodContext. * Various .h files: removed unnecessary #includes, added to requred .cpp files. * ConnectionContext: renamed from SessionContext. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@497963 13f79535-47bb-0310-9956-ffa450edef68
* * Renamed Session* classes to Connection* to align with AMQP specAlan Conway2007-01-1610-32/+32
| | | | | | | | | | - broker::SessionHandlerImpl -> broker::Connection - broker::SessionHandlerImplFactory -> broker::ConnectionFactory - sys::SessionHandler -> ConnectionInputHandler - sys::SessionHandlerFactory -> ConnectionInputHandlerFactory git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@496848 13f79535-47bb-0310-9956-ffa450edef68
* Adding files for EventChannel implementation.Alan Conway2006-12-203-0/+480
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@489110 13f79535-47bb-0310-9956-ffa450edef68
* [For Andrew Stitcher] inlined qpid::sys::check() in APRBase.h; This is ↵Kim van der Riet2006-12-192-10/+12
| | | | | | called a lot - for every call to an APR call, inlining this seems to give about 8% speed in my tests (even though originally check() only seemed to use 1-2% of the time). I think this must be a 2nd order instruction caching effect. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@488808 13f79535-47bb-0310-9956-ffa450edef68
* Patch from Andrew Stitcher:Gordon Sim2006-12-042-2/+2
| | | | | | | | | | This patch improves the performance of my test by about 20% It removes a lot of unnecessary string creation, as ...::check(...) is called for every CHECK_APR_SUCCESS(), and they are very frequent. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@482262 13f79535-47bb-0310-9956-ffa450edef68
* Re-enable signal handling. Make APRAcceptor::shutdown() threadsafe.Gordon Sim2006-12-011-8/+19
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@481305 13f79535-47bb-0310-9956-ffa450edef68
* 2006-12-01 Jim Meyering <meyering@redhat.com>Alan Conway2006-12-0138-0/+3374
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