summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys
Commit message (Collapse)AuthorAgeFilesLines
* Fix "ignoring return value" warning from LockFile.h.Alan Conway2008-07-151-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@676963 13f79535-47bb-0310-9956-ffa450edef68
* Honour timeout in BlockingQueue::pop(); added test for ↵Gordon Sim2008-07-101-1/+1
| | | | | | | | | SubscriptionManager::get() where no message exists. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@675477 13f79535-47bb-0310-9956-ffa450edef68
* Some small changes which clean up header file inclusionsAndrew Stitcher2008-07-096-21/+34
| | | | | | | | and generally start to tidy up the network layer so that it's a bit easier to implement new network transports git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@675338 13f79535-47bb-0310-9956-ffa450edef68
* Remove unused Serializer code.Alan Conway2008-07-082-252/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@674955 13f79535-47bb-0310-9956-ffa450edef68
* Revert un-necessary Plugin complications. Better solution for plugin ↵Alan Conway2008-07-081-12/+14
| | | | | | extension points coming up... git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@674915 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1148 - from Manuel TieraAlan Conway2008-07-083-14/+94
| | | | | | | | | | | | | | | | Lock file abstraction in sys/ with implementation portable to Linux and Solaris. Changes by myself: - Makefile.am - must be updated for any new/renamed/removed source files. - Exception.h, Daemon.h, LockFile.h: Replaced throwIf() with if (...) throw ErrnoException(...) The idiom throwIf(call-system-function(), "msg", errno) is incorret (my fault, not Manuels). It assumes the first argument that makes a system call call will be evaluated before the last one which fetches errno. This may not be true on some compilers/platforms. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@674865 13f79535-47bb-0310-9956-ffa450edef68
* Cluster prototype: handles client-initiated commands (not dequeues)Alan Conway2008-07-045-6/+243
| | | | | | | | | | | | | | | | Details - Cluster.cpp: serializes all frames thru cluster (see below) - broker/ConnectionManager: Added handler chain in front of Connection::received. - sys::Fork and ForkWithMessage - abstractions for forking with posix impl. - tests/ForkedBroker.h: test utility to fork a broker process. - broker/SignalHandler: Encapsulated signal handling from qpidd.cpp - Various minor logging & error message improvements to aid debugging. NB: current impl will not scale. It is functional working starting point so we can start testing & profiling to find the right optimizations. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@674107 13f79535-47bb-0310-9956-ffa450edef68
* Added timeout to SubscriptionManager::get(), LocalQueue::get() and ↵Alan Conway2008-07-012-63/+44
| | | | | | BlockingQueue::get() git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@673158 13f79535-47bb-0310-9956-ffa450edef68
* Plugin framework change: single PluginFactory creates per-target Plugin ↵Alan Conway2008-06-261-14/+12
| | | | | | instances. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@672032 13f79535-47bb-0310-9956-ffa450edef68
* - use flock to lock data dir rather than a lock file.Alan Conway2008-06-252-27/+48
| | | | | | | - removed troublesome global constructor in Mutex initialization. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@671604 13f79535-47bb-0310-9956-ffa450edef68
* Propagate error messages across the Demux between network & user threads.Alan Conway2008-06-121-3/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@667205 13f79535-47bb-0310-9956-ffa450edef68
* Added exceptions to sys::Waitable.Alan Conway2008-06-062-9/+121
| | | | | | | | Fixed client side deadlock involving client::Bounds. Fixed incorrect exception messages during connection shutdown. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@664114 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1108 patch from Manuel TeiraCarl C. Trieloff2008-06-031-20/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@662613 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1113 Management cleanup and performance enhancementsTed Ross2008-06-021-0/+52
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@662470 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1087Ted Ross2008-05-218-105/+31
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@658886 13f79535-47bb-0310-9956-ffa450edef68
* Added check to exclude old gcc compilers for atomic ops.Alan Conway2008-05-212-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@658849 13f79535-47bb-0310-9956-ffa450edef68
* Replaced AtomicCount with AtomicValue template. Alan Conway2008-05-214-53/+183
| | | | | | | Uses gcc atomics for gcc on i686/x86_64, falls back to mutex otherwise. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@658816 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1050: Patch from Ted Ross:Gordon Sim2008-05-127-27/+117
| | | | | | | | | | | | | | | | | 1) Durability for federation links (broker-to-broker connections) 2) Improved handling of federation links: a) Links can be created even if the remote broker is not reachable b) If links are lost, re-establishment will occur using an exponential back-off algorithm 3) Durability of exchanges is now viewable through management 4) ManagementAgent API has been moved to an interface class to reduce coupling between the broker and manageable plug-ins. 5) General configuration storage capability has been added to the store/recover interface. This is used for federation links. 6) Management object-ids for durable objects are now themselves durable. (Note: some refactoring needed around ProtocolAccess needed to try and reduce dependencies) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@655563 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1040: Patch from Ted Ross: Asynchronous ConnectorAndrew Stitcher2008-05-096-10/+109
| | | | | | | Code to allow non-blocking connection of new sockets git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@654666 13f79535-47bb-0310-9956-ffa450edef68
* More RDMA Work in ProgressAndrew Stitcher2008-04-294-147/+66
| | | | | | | | | | Changes to client buffering Buffering improvement to server Removed unused state machine from RdmaIO code Move the write throttling due to limited write buffers into the RdmaIO code git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@652180 13f79535-47bb-0310-9956-ffa450edef68
* Removed some unnecessary #includesAndrew Stitcher2008-04-292-3/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@652120 13f79535-47bb-0310-9956-ffa450edef68
* QPID-974: allow the size of the queue of outgoing frames to be restrictedGordon Sim2008-04-292-15/+28
| | | | | | | | 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
* Work In Progress:Andrew Stitcher2008-04-288-0/+1481
| | | | | | | | | Added initial rdma code including test server and client Turn off rdma support by default but autoconf should now detect whether necessary rdma/ibverbs libs and headers are present git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@652053 13f79535-47bb-0310-9956-ffa450edef68
* * Renamed the Acceptor class to be the ProtocolFactory classAndrew Stitcher2008-04-222-36/+28
| | | | | | | | | which better approximates its current behaviour * Slightly refactored TCPIOPlugin to better approximate how it would look when we implement a proper AsynchConnector git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@650657 13f79535-47bb-0310-9956-ffa450edef68
* Refactored Acceptor code to allow multiple acceptors to be present in the brokerAndrew Stitcher2008-04-182-8/+22
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@649689 13f79535-47bb-0310-9956-ffa450edef68
* Split AsynchIOAcceptor into IOHandler and connection control codeAndrew Stitcher2008-04-183-140/+195
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@649666 13f79535-47bb-0310-9956-ffa450edef68
* Refactored IO Thread creation so that it happens in the Broker classAndrew Stitcher2008-04-172-49/+25
| | | | | | | | | | | - There is now a single Poller created by the Broker class that is passed to the Acceptor for use in network IO. It can also now be passed to anything else that wants to put work in the IO threads - The Broker class itself is now responsible for actually creating the threads git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@648904 13f79535-47bb-0310-9956-ffa450edef68
* Refactored the IO framework that sits on top of Poller so that it uses a ↵Andrew Stitcher2008-04-1511-83/+153
| | | | | | | | | | generalised IOHandle. This means that you can define new classes derived from IOHandle (other than Socket) that can also be added to a Poller and waited for. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@648288 13f79535-47bb-0310-9956-ffa450edef68
* QPID-648: more flexible sasl implementation (patch provided by ↵Gordon Sim2008-04-141-6/+12
| | | | | | mfarrellee@redhat.com) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@647940 13f79535-47bb-0310-9956-ffa450edef68
* Fixed time classes for some changes that misunderstood how they are supposedAndrew Stitcher2008-04-072-16/+47
| | | | | | | to be used (and documented them better to hopefully avoid this in the future) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@645685 13f79535-47bb-0310-9956-ffa450edef68
* AsynchIoAcceptor.cpp: Limit output from codec to one buffer per 'idle' call.Gordon Sim2008-04-071-1/+1
| | | | | | | | PreviewConnectionCodec: Generate output frames for encoding while available and while they can fit in the buffer given git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@645470 13f79535-47bb-0310-9956-ffa450edef68
* Fixed logger warning on F9.Alan Conway2008-04-021-4/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@643957 13f79535-47bb-0310-9956-ffa450edef68
* Prevent broker exit on receiving connection with invalid protocol version.Gordon Sim2008-03-311-4/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@642959 13f79535-47bb-0310-9956-ffa450edef68
* Removed unused files.Alan Conway2008-03-271-164/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@641969 13f79535-47bb-0310-9956-ffa450edef68
* Re-enable the establishment of inter-broker links.Gordon Sim2008-03-261-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@641281 13f79535-47bb-0310-9956-ffa450edef68
* Fix compile errors/warnings with gcc 4.3Alan Conway2008-03-254-7/+9
| | | | | | | | | | | | | - added missing #includes that were implicitly included via old headers. - add namespace-qualifiers to fix "changes meaning of name" warnings. - ./qpid/ptr_map.h:51: fixed "qualified return value" warning. - use const char* for "conversion from string constant to ‘char*’" warnings Applied patch from https://issues.apache.org/jira/browse/QPID-869 remove depenency on boost/date_time, causes warnings with gcc 4.3. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@640806 13f79535-47bb-0310-9956-ffa450edef68
* Fixed use of intrusive_ptr in code that was missedAndrew Stitcher2008-03-251-6/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@640702 13f79535-47bb-0310-9956-ffa450edef68
* Qualify names to fix gcc 4.3 compile errors.Alan Conway2008-03-182-7/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@638604 13f79535-47bb-0310-9956-ffa450edef68
* Make AsyncIOAcceptor multi-protocol:Alan Conway2008-03-185-156/+142
| | | | | | | | | - ConnectionCodec interface replaces ConnectionInputHandle, moves encoding/decoding out of AsyncIOAcceptor. - ConnectionCodec::Factory replaces ConnectionInputHandlerFactory - Acceptor creates version-specific ConnectionCodec based on protocol header. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@638590 13f79535-47bb-0310-9956-ffa450edef68
* rubygen/0-10/specification.rb:Alan Conway2008-03-113-8/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Simplified enum mapping/encoding. - struct encoding - ostream << operators src/qpid/Serializer.h - free funciton serialization - separate Encoder/Decoder for const correctness - split() to allow separate encode/decode for complex cases. src/qpid/amqp_0_10/Assembly.cpp, Assembly.h: AMQP 0-10 final Assembly src/qpid/amqp_0_10/Codec.h - Replaced enable_if with overloads, simpler & more flexible. src/qpid/amqp_0_10/Frame.cpp, .h: AMQP 0-10 final frame. src/qpid/amqp_0_10/Holder.h: - provide const and non-const apply src/qpid/amqp_0_10/Segment.cpp, .h: AMQP 0-10 final Segment. src/qpid/amqp_0_10/apply.h - ConstApplyFunctor for const apply. src/qpid/amqp_0_10/built_in_types.h - SerializableString encoding src/qpid/amqp_0_10/complex_types.cpp, .h - const application - Action base class for command/control. src/qpid/framing/AMQBody.h - removed 0-10 final changes, moving integration point down the stack. src/qpid/sys/Shlib.h - removed unused and uncompilable (on some compilers) function. src/qpid/sys/Time.h, .cpp - ostream << for AbsTime and Duration. src/tests/Assembly.cpp, Segment.cpp, apply.cpp, serialize.cpp: testing new code. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@636126 13f79535-47bb-0310-9956-ffa450edef68
* A further step to final 0-10 spec.Gordon Sim2008-03-032-7/+15
| | | | | | | | | The extra.xml fragment adds class defs for connection in session that are in line with latest spec but use old schema. The preview codepath (99-0) remains unaltered. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@633108 13f79535-47bb-0310-9956-ffa450edef68
* AMQP 0-10 type system:Alan Conway2008-02-211-0/+3
| | | | | | | | | | | | | | | | | | - 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
* sys::RefCountedMap - reference-counted weak map of reference-counted objects.Alan Conway2008-02-191-89/+108
| | | | | | | | 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
* Broker::connect - connect to URL, return ConnectionInputHandler.Alan Conway2008-02-132-4/+10
| | | | | | | | | | | | | | | | | | 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
* Remove dependency on sys::Socket for management ID of connections.Alan Conway2008-02-112-4/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@620622 13f79535-47bb-0310-9956-ffa450edef68
* Clean shutdown of broker: Moved signal unsafe code from Broker::shutdownAlan Conway2008-02-074-0/+8
| | | | | | | 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
* Added testSendToSelf for https://bugzilla.redhat.com/show_bug.cgi?id=410551Alan Conway2008-02-051-1/+5
| | | | | | | | | | | | | | | | | | | | 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
* Initial cut of inter-broker bridgingGordon Sim2008-02-013-1/+54
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@617590 13f79535-47bb-0310-9956-ffa450edef68
* Make ports accesible through socket interface.Gordon Sim2008-01-312-0/+48
| | | | | | | | 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
* 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