summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* Added qpid::InlineVector - std::vector with inline storage to avoidAlan Conway2007-11-161-0/+2
| | | | | | | | | | | | heap allocation for small vectors. Made SequenceNumberSet : public InlineVector<SequenceNumber, 2> In 100k perftest reduces heap allocation in client by 40%, broker 9%. . git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@595807 13f79535-47bb-0310-9956-ffa450edef68
* Patch QPID-680 from trossCarl C. Trieloff2007-11-131-13/+18
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@594364 13f79535-47bb-0310-9956-ffa450edef68
* Get rid of BasicHeaderProperties, dead code from 0-8 protocol.Alan Conway2007-11-091-2/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@593692 13f79535-47bb-0310-9956-ffa450edef68
* Package examples in rpm %doc directory.Alan Conway2007-11-091-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@593638 13f79535-47bb-0310-9956-ffa450edef68
* On Linux, broker defaults --worker-threads to the number of available CPU coresAlan Conway2007-11-091-1/+3
| | | | | | | reported by sysconf(_SC_NPROCESSORS_ONLN) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@593632 13f79535-47bb-0310-9956-ffa450edef68
* client::SubscriptionManager:Alan Conway2007-11-071-0/+3
| | | | | | | | | | | | | | | | | - Added autoStop support. - Added LocalQueue subscriptions. - Expose AckPolicy settings to user. client::Message: - incoming Messages carry their session for acknowledge perftest: (see perftest --help for details...) - allow multiple consumers. - 3 queue modes: shared, fanout, topic. - set size of messages git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@592869 13f79535-47bb-0310-9956-ffa450edef68
* Add support for array type to c++ (and python, decode only for now)Gordon Sim2007-11-061-0/+2
| | | | | | | | Change the type of the in-doubt field in dtx-coordination.recover to an array (to bring in line with amqp spec) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@592494 13f79535-47bb-0310-9956-ffa450edef68
* Improvements to gsim's SubscriptionManager:Alan Conway2007-11-021-6/+8
| | | | | | | | | | - auto-stop mode: run returns when all subscriptions cancelled. - flow control. examples/topic_listener.cpp updated to use SubscriptionManager. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@591388 13f79535-47bb-0310-9956-ffa450edef68
* Added qpid::sys::RefCountedMap: thread safe refcounted map of refcounted ↵Alan Conway2007-11-011-0/+1
| | | | | | | | | | entries. - Entries are atomically erased when released. - Map is released when all entries are erased. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@590907 13f79535-47bb-0310-9956-ffa450edef68
* Preparation for session thread safety overhaul:Alan Conway2007-11-011-0/+1
| | | | | | | | | | - simplified SessionState, responsibility for protocol states now in Handlers - qpid::RefCounted, qpid::intrusive_ptr reference counting support. - build boost unit tests as single exe, speeds up testing. - fixed leak in AsynchIOAcceptor.cpp git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@590869 13f79535-47bb-0310-9956-ffa450edef68
* - fixed buildCarl C. Trieloff2007-10-311-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@590823 13f79535-47bb-0310-9956-ffa450edef68
* Patch from TedCarl C. Trieloff2007-10-311-8/+12
| | | | | | | | | | | | | QPID-668 This patch does two things: 1) Adds management objects for "broker" and "virtual host". 2) Moves all management-related source files from qpid/broker to qpid/broker/management. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@590806 13f79535-47bb-0310-9956-ffa450edef68
* client/BlockingQueue.h, sys/ConcurrentQueue.h: merged to sys/BlockingQueue.hAlan Conway2007-10-291-2/+1
| | | | | | | | | - updated all users qpid/Exception.h: Removed unimplemented clone() function. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@589857 13f79535-47bb-0310-9956-ffa450edef68
* Session resume support in client & broker: Client can resume a sessionAlan Conway2007-10-261-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | 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@588761 13f79535-47bb-0310-9956-ffa450edef68
* - added patch from TeddCarl C. Trieloff2007-10-261-0/+2
| | | | | | | | - QPID-660 git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@588478 13f79535-47bb-0310-9956-ffa450edef68
* - flush async IO if present on sync for 0-10Carl C. Trieloff2007-10-231-0/+2
| | | | | | | | | - notify, for ack from sync for 0-10 - use of raw pointer, to avoid recursive fre git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@587332 13f79535-47bb-0310-9956-ffa450edef68
* QPID-651 applied patch from TedCarl C. Trieloff2007-10-191-0/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@586578 13f79535-47bb-0310-9956-ffa450edef68
* * Summary: generalized Invoker visitor to all *Operations andAlan Conway2007-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | *Handler classes, client and broker. Single template free function invoke(Invocable, const AMQBody&); works for all invocable handlers. * rubygen/templates/OperationsInvoker.rb: Generates invoker visitors for all Operations classes, client and server. * src/qpid/framing/Invoker.h: Invoker base class and template invoke() function. * rubygen/templates/structs.rb: add generic invoke method template to invoke an arbitrary object with the correct memeber function. * src/qpid/framing/AMQMethodBody.cpp, .h: Removed invoke(), replaced by qpid::framing::invoke() * src/qpid/broker/SemanticHandler.cpp, ConnectionHandler.cpp: Replace AMQMethodBody::invoke with invoke() free function. * src/qpid/framing/StructHelper.h: Avoid un-necessary alloc and copy in encode/decode. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@585223 13f79535-47bb-0310-9956-ffa450edef68
* Implementation of 0-10 field tablesAndrew Stitcher2007-10-161-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@585097 13f79535-47bb-0310-9956-ffa450edef68
* Added assert.cpp to makefile.Alan Conway2007-10-151-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@584770 13f79535-47bb-0310-9956-ffa450edef68
* * src/qpid/framing/ResumeHandler.cpp: Handle ack and resume logicAlan Conway2007-10-011-0/+1
| | | | | | | for broker and client. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@580984 13f79535-47bb-0310-9956-ffa450edef68
* Added missing headers to makefile.Alan Conway2007-09-281-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@580471 13f79535-47bb-0310-9956-ffa450edef68
* * src/tests/ClientSessionTest.cpp: Suspend/resume tests.Alan Conway2007-09-281-1/+0
| | | | | | | | | | | | | | | * 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@580403 13f79535-47bb-0310-9956-ffa450edef68
* Some revisions to rubygen for packed structs and execution header (changes ↵Gordon Sim2007-09-271-0/+1
| | | | | | not yet enabled) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@580094 13f79535-47bb-0310-9956-ffa450edef68
* Renamed the following files for consistency:Alan Conway2007-09-251-12/+12
| | | | | | | | | | | | | | | | | | 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@579340 13f79535-47bb-0310-9956-ffa450edef68
* 2007-09-24 Alan Conway <aconway@redhat.com>Alan Conway2007-09-241-0/+2
| | | | | | | | | | | | | | | * cpp/src/qpid/broker/SessionManager.cpp: Manage suspended sessions. Replaces SuspendedSessions. * cpp/src/qpid/broker/SessionState.cpp: Work with SessionManager. * cpp/src/qpid/broker/SessionHandler.cpp: Owns SessionState. * cpp/src/qpid/broker/Connection.h, .cpp: Owns session handlers. * cpp/src/qpid/broker/Broker.h: Added SessionManager member. * cpp/src/Makefile.am: Added broker/SessionManager.cpp * amqp.0-10-preview.xml: Added session-busy and channel-busy constants. * cpp/src/tests/.valgrind.supp-default: Added suppresssions for F7. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@578975 13f79535-47bb-0310-9956-ffa450edef68
* Packaging fixes to spec and Makefile from nsantos@redhat.com.Alan Conway2007-09-241-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@578854 13f79535-47bb-0310-9956-ffa450edef68
* Added missing makefiles to include_HEADERS for installation.Alan Conway2007-09-211-61/+62
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@578269 13f79535-47bb-0310-9956-ffa450edef68
* Split broker::Session into:Alan Conway2007-09-211-2/+4
| | | | | | | | broker::SessionState: session info (uuid etc.) + handler chains. broker::SemanticState: session state for the SemanticHandler. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@578219 13f79535-47bb-0310-9956-ffa450edef68
* Moved c++ over to using the same preview file for 0-10 work as java.Gordon Sim2007-09-211-2/+2
| | | | | | | | | | Removed all channel class related code from broker as a result. Did the same for some python tests I missed earlier. Renamed ChannelAdapter to ChannelHandler. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@578167 13f79535-47bb-0310-9956-ffa450edef68
* * cpp/bootstrap, cpp/rubygen/generate, cpp/src/Makefile.am:Alan Conway2007-09-201-6/+0
| | | | | | | | | Fixed generated headers to install properly. * cpp/qpidc.spec.in: removed apr dependency. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@577916 13f79535-47bb-0310-9956-ffa450edef68
* AMQP 0-10 Session suppported on broker and client.Alan Conway2007-09-191-2/+2
| | | | | | | | | | | Client always uses session on the wire but client::Channel API is still available until all C++ tests are migrated. Broker allows both session and channel connection to support python tests. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@577459 13f79535-47bb-0310-9956-ffa450edef68
* Added HandlerImpl.h back to distributed list to get make distcheck working.Gordon Sim2007-09-191-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@577206 13f79535-47bb-0310-9956-ffa450edef68
* Refactor HandlerImpl to use Session rather than CoreRefs.Alan Conway2007-09-181-1/+0
| | | | | | | Remove most uses of ChannelAdapter in broker code. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@577027 13f79535-47bb-0310-9956-ffa450edef68
* Added Dispatcher class (plus test). This converts incoming MessageTransfer ↵Gordon Sim2007-09-181-0/+2
| | | | | | framesets to Messages and pumps them to registered listeners. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@576935 13f79535-47bb-0310-9956-ffa450edef68
* Renamed SessionAdapter as SessionHandler.Alan Conway2007-09-171-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@576578 13f79535-47bb-0310-9956-ffa450edef68
* Handle asynchronous enqueue of messages.Gordon Sim2007-09-141-0/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@575689 13f79535-47bb-0310-9956-ffa450edef68
* In ClientChannel: Use subscribe and flush in place of get; use ↵Gordon Sim2007-09-121-0/+3
| | | | | | | | | | per-subscriber flow control for managing prefetches. In brokers Session: set credit to 0 when subscription is created (modified python tests accordingly) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@574979 13f79535-47bb-0310-9956-ffa450edef68
* Client side support for message and delivery properties in header segments.Gordon Sim2007-09-101-0/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@574176 13f79535-47bb-0310-9956-ffa450edef68
* Implementation of execution.result on the client side Gordon Sim2007-09-061-4/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@573359 13f79535-47bb-0310-9956-ffa450edef68
* * Summary:Alan Conway2007-08-311-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | - Moved BrokerChannel functionality into Session. - Moved ChannelHandler methods handling into SessionAdapter. - Updated all handlers to use session. (We're still using AMQP channel methods in SessionAdapter) Roles & responsibilities: Session: - represents an _open_ session, may be active or suspended. - ows all session state including handler chains. - attahced to SessionAdapter when active, not when suspended. SessionAdapter: - reprents the association of a channel with a session. - owned by Connection, kept in the session map. - channel open == SessionAdapter.getSessio() != 0 Anything that depends on attachment to a channel, connection or protocol should be in SessionAdpater. Anything that suvives a session suspend belongs in Session. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@571575 13f79535-47bb-0310-9956-ffa450edef68
* * src/qpid/broker/Session.h, .cpp: Session holds all state of a session ↵Alan Conway2007-08-291-3/+2
| | | | | | | | | | | | | | | | | | | | | | | including handlers created for that session. Session is not directly associated with a channel. * src/qpid/broker/SessionAdapter.h, .cpp: SessionAdapter is bound to a channel managed by the Connection. It can be attached to and detatched from a Session. * src/qpid/broker/Connection.cpp, .h: Use SessionAdapter. * src/qpid/framing/Handler.h: Removed use of shared_ptr. Handlers belong either to a Session or a Connection and are destroyed with it. * src/qpid/framing/InputHandler.h, OutputHandler.h: Both now inherit from FrameHandler and can be used as FrameHandlers. Intermediate step to removing them entirely. * src/qpid/broker/ConnectionAdapter.h: * src/qpid/client/ConnectionHandler.h: * src/qpid/framing/ChannelAdapter.cpp, .h: Minor changes required by Handler changes. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@570982 13f79535-47bb-0310-9956-ffa450edef68
* Updated message.transfer encoding to use header and content segments ↵Gordon Sim2007-08-281-16/+12
| | | | | | | | | | (including new structs). Unified more between the basic and message classes messages. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@570538 13f79535-47bb-0310-9956-ffa450edef68
* * Fix compile errors.Alan Conway2007-08-271-0/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@570252 13f79535-47bb-0310-9956-ffa450edef68
* * Fix compile errors.Alan Conway2007-08-271-2/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@570251 13f79535-47bb-0310-9956-ffa450edef68
* * src/qpid/framing/FrameDefaultVisitor.h:Alan Conway2007-08-271-1/+3
| | | | | | | | | | | | | | | A visitor for all concrete frame body types. * src/qpid/broker/SessionState.h: 3 states - closed, active, suspended. * src/qpid/broker/SessionAdapter.h, .cpp: Session handler, implements session class commands. In progres.. * rubygen/templates/MethodBodyDefaultVisitor.rb: A visitor for all method body types. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@570236 13f79535-47bb-0310-9956-ffa450edef68
* * src/qpid/broker/SessionState.h: State of a session.Alan Conway2007-08-271-0/+4
| | | | | | | | * src/qpid/broker/SuspendedSessions.h, .cpp: Stores suspended sessions. * src/tests/Session.cpp: Test session classes. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@570164 13f79535-47bb-0310-9956-ffa450edef68
* Don't add the generated files to nobase_include_HEADERS they are already in ↵Gordon Sim2007-08-211-1/+0
| | | | | | EXTRA_DIST git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@568221 13f79535-47bb-0310-9956-ffa450edef68
* updated rule to reflect new location for generated fileGordon Sim2007-08-211-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@568190 13f79535-47bb-0310-9956-ffa450edef68
* Refresh of transitional xml to more closely reflect latest specificationGordon Sim2007-08-211-24/+9
| | | | | | | | | Initial execution-result support (not yet handled on c++ client) Generation is now all done through the ruby code (it is a little slower at present I'm afraid, will try to speed it up over the next weeks) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@568174 13f79535-47bb-0310-9956-ffa450edef68