| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@645664 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
- base classes for 0-10 exceptions
rubygen/0-10/exceptions.rb
- generated 0-10 exceptions
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@644917 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
- remove unused class.
src/qpid/Serializer.h, src/qpid/amqp_0_10/Map.h:
- Enforce map Size limits using serializer.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@644727 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- generic Wrapper template for making distinct types.
- added Bit - bool wrapper with empty encode/decode.
amqp_0_10/complex_types.h:
- Added constants SIZE=0, PACK=2 to Action base class.
amqp_0_10/PackedCodec.h:
- Decode packed struct fields according to the packing bits.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@644308 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@643995 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@641969 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
Hold up completion (and accept) until message from transfer is fully enqueued.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@641929 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Updated dtx handling in c++ broker to take account of separation of completion and acceptance.
* Added final dtx method defs to extra xml fragment and implemented appropriate handlers in c++ broker.
* Converted dtx python tests (recover test still requires some work on decoding arrays).
* Allow creation of structs without type codes through a python session method.
* Fixed exception handling in python client for commands with results.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@641464 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@641315 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@640813 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@637882 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@636737 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@633627 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@633533 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
- AMQBody wrappers for amqp_0_10::Command and Control
- Extended AMQBody for CommandBody and ControlBody.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@632490 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
Serialization for all str/vbin types.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@632457 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@632087 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
Not yet generating: holders, visitors.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@631740 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
0-10 final: extended code generation and non-generated support classes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@631638 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@629253 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@617592 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@612976 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two changes in this patch:
1) Management object IDs are now persistent for persistent (durable) objects. This is required to provide continuity of historical management data across broker restarts. The format of object IDs now indicates whether they are transient or persistent. The upper bit (bit 63) is 0 for transient IDs and 1 for persistent IDs.
2) Changes have been made to the management code generator in preparation for allowing it to be used by outside projects that wish to use the broker Plugin API for management access.
File-by-file notes:
M python/mgmt-cli/managementdata.py
Enhanced user-friendly display of 64-bit object IDs to
differentiate between persistent IDs and non-persistent IDs.
M cpp/src/Makefile.am
Changed command line format for call to the management code
generator.
M cpp/src/qpid/broker/Broker.cpp
M cpp/src/qpid/broker/Vhost.cpp
M cpp/src/qpid/broker/Queue.cpp
Updated calls to ManagementAgent::addObject to use the new support
for persistent IDs, ensuring that the management object IDs for
persistent objects are themselves persistent.
M cpp/src/qpid/management/ManagementAgent.h
M cpp/src/qpid/management/ManagementAgent.cpp
Added support (using defaulted arguments) to
ManagementAgent::addObject for persistent object IDs
M cpp/managementgen/generate.py
M cpp/managementgen/schema.py
M cpp/managementgen/main.py
Added the ability for templates to set variables to be used during
code generation.
Makefile fragment is now generated using a template rather than
hard-code. This was done to help non-qpid code to use the code
generator for management-via-qpid support.
M cpp/managementgen/templates/Args.h
M cpp/managementgen/templates/Class.cpp
M cpp/managementgen/templates/Class.h
Use a generator variable to define the comment prefix.
A cpp/managementgen/templates/Makefile.mk
New template for the qpid makefile fragment.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@609672 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@608649 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Replaced InProcessBroker with BrokerFixture, uses a full loopback
broker for more realistic tests.
- Extracted non-generated parts of Session_0_10 into SessionBase.
- Sundry small fixes.
src/tests/BrokerFixture.h
- in process broker with loopback connections.
- tests can force a disorderly disconnect.
src/qpid/client/Connector.h
- back door to private members for BrokerFixture.
- close() in destructor to avoid leaks.
src/qpid/client/ConnectionImpl.h,cpp:
- close() in destructor, to fix hang when destroyed without being closed.
src/qpid/client/CompletionTracker.h,.cpp:
- Fixed race in close/add.
src/qpid/client/SessionBase.h,cpp:
- Extracted all non-generated code from Session_0_10 into SessionBase
- Added sync()
src/tests/exception_test.cpp: Converted to boost & BrokerFixture
src/tests/ClientChannelTest.cpp, ClientSessionTest.cpp: Use BrokerFixture
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@602182 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
| |
- installcheck target builds installed examples.
- Automatically run by rpmbuild and distcheck targets.
rubygen/generate: fixed packaging error in rubygen.mk
src/Makefile.am: fixed packaging error.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@601125 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@600442 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@599422 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@599413 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@599412 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
| |
dispatch to consumers
Fix to PersistableMessage: use correct lock when accessing synclist, don't hold enqueue lock when notifying queues
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@599395 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
- boost::ptr_map API changed.
- Boost.Test unit test framework changes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@599067 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
This patch introduces formal schema specification for management and
code generation for management classes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@597662 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Uniform holder for all body types, replaces MethodHolder.
- Uses in_place constructors to avoid avoid body copy.
framing::AMQFrame:
- Holds body in heap-allocated intrusive_ptr<BodyHolder>
- Uses in_place constructors to avoid avoid body copy.
Removed/downgraded to TODO many redundant FIXME comments.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@597513 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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/qpid@595807 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@594364 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@593692 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@593638 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
reported by sysconf(_SC_NPROCESSORS_ONLN)
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@593632 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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/qpid@592869 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
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/qpid@592494 13f79535-47bb-0310-9956-ffa450edef68
|