| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://svn.apache.org/repos/asf/incubator/qpid/trunk
........
r649915 | gsim | 2008-04-20 13:10:37 +0100 (Sun, 20 Apr 2008) | 6 lines
QPID-920: converted c++ client to use final 0-10 protocol
* connection handler converted to using invoker & proxy and updated to final method defs
* SessionCore & ExecutionHandler replace by SessionImpl
* simplified handling of completion & results, removed handling of responses
........
r650127 | arnaudsimon | 2008-04-21 13:45:48 +0100 (Mon, 21 Apr 2008) | 1 line
QPID-939 Added "ID:" to message ID
........
r650159 | gsim | 2008-04-21 15:37:03 +0100 (Mon, 21 Apr 2008) | 4 lines
QPID-920: send message-accept for acks (as well as completion)
* AckPolicy now maintains a set of transfered messages for cumulative accepts
........
r650198 | aconway | 2008-04-21 17:36:08 +0100 (Mon, 21 Apr 2008) | 6 lines
src/qpid/RangeSet.h: generic set implementation using ranges.
- no heap allocation for simple sets (<= 3 ranges)
- binary searches for o(log(n)) performance in complex sets
........
r650210 | aconway | 2008-04-21 18:34:49 +0100 (Mon, 21 Apr 2008) | 1 line
Fix compile error on rhel5.
........
r650221 | aconway | 2008-04-21 19:59:31 +0100 (Mon, 21 Apr 2008) | 2 lines
Better workaround for boost::ptr_map incompatibility between boost 1.33 and 1.34, based on public properties of ptr::map types rather than version numbers.
........
r650227 | aconway | 2008-04-21 20:19:42 +0100 (Mon, 21 Apr 2008) | 2 lines
Disable compilation of amqp_0_10 codec until ready for integration.
........
r650250 | gsim | 2008-04-21 21:34:49 +0100 (Mon, 21 Apr 2008) | 4 lines
* raise error when controls other than attached are received on unattached channel
* corrected exception handling in client and on broker (broker to issue detach)
........
r650273 | aconway | 2008-04-21 22:22:09 +0100 (Mon, 21 Apr 2008) | 1 line
Fix packaging problems for rpmbuild.
........
r650439 | gsim | 2008-04-22 11:33:12 +0100 (Tue, 22 Apr 2008) | 7 lines
QPID-648: (based on patch from mfarrellee@redhat.com)
* apply authentication to final 0-10 codepath
* consolidate conditional compilation of sasl-related code
* improved handling of connection close during connection establishment in client
........
r650450 | gsim | 2008-04-22 13:05:52 +0100 (Tue, 22 Apr 2008) | 3 lines
QPID-944: do no-local checking where requested when there is an exclusive subscription active
........
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/thegreatmerge@650478 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/thegreatmerge@647727 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/thegreatmerge@647726 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
630296,630353,630847,630852,630934,631002,631014,631128,631250,631486,631489-631490,631638,631657,631695,631697-631698,631740,631790,631823,631931 via svnmerge from
https://svn.apache.org/repos/asf/incubator/qpid/trunk
........
r630296 | aconway | 2008-02-22 19:14:05 +0000 (Fri, 22 Feb 2008) | 2 lines
Provide separate name, message and error code on all Exceptions.
........
r630353 | aconway | 2008-02-22 23:13:43 +0000 (Fri, 22 Feb 2008) | 6 lines
Fixed rubygen to skip unchanged generated files, prevents needless
rebuilding every time the code generator changes.
Start of amqp 0-10 mapping, work in progress.
........
r630847 | arnaudsimon | 2008-02-25 13:45:53 +0000 (Mon, 25 Feb 2008) | 1 line
Changed checkPreConditions for accessing directly to _messageSelector
........
r630852 | arnaudsimon | 2008-02-25 13:50:46 +0000 (Mon, 25 Feb 2008) | 1 line
added prop jvmarg, that could be used allocate more memory: -Djvmarg=-Xmx512m
........
r630934 | gsim | 2008-02-25 16:56:29 +0000 (Mon, 25 Feb 2008) | 3 lines
Some refactoring of the 0-10 codepath (being migrated to final spec) that primarily colocates the current session and execution layers to facilitate implementing the new session layer that will now encompass this behaviour.
........
r631002 | rhs | 2008-02-25 21:29:55 +0000 (Mon, 25 Feb 2008) | 1 line
put queue listeners in their own thread
........
r631014 | aconway | 2008-02-25 21:56:03 +0000 (Mon, 25 Feb 2008) | 2 lines
Fix build problem if openais is installed but openais-devel is not.
........
r631128 | gsim | 2008-02-26 08:40:13 +0000 (Tue, 26 Feb 2008) | 3 lines
Use sessions reference to broker rather than connections in semantic state as the sessions ref is valid even when not attached.
........
r631250 | rhs | 2008-02-26 15:20:35 +0000 (Tue, 26 Feb 2008) | 1 line
jvmarg -> test.mem; this fixes build breakage when jvmarg is empty or unspecified
........
r631486 | rajith | 2008-02-27 05:15:20 +0000 (Wed, 27 Feb 2008) | 2 lines
This contains the ground work for QPID-803.
........
r631489 | rajith | 2008-02-27 05:17:07 +0000 (Wed, 27 Feb 2008) | 5 lines
Added a new parser for the BindingURL.
This allows adding multiple binding keys, using # and * in the URLs.
This is tracked via QPID-814
........
r631490 | rajith | 2008-02-27 05:17:46 +0000 (Wed, 27 Feb 2008) | 1 line
added a test case for the multiple binding key case
........
r631638 | aconway | 2008-02-27 16:37:48 +0000 (Wed, 27 Feb 2008) | 3 lines
Generate code for both 0-99 preview and 0-10 final specs .
0-10 final: extended code generation and non-generated support classes.
........
r631657 | rhs | 2008-02-27 17:18:40 +0000 (Wed, 27 Feb 2008) | 1 line
improved error message
........
r631695 | rajith | 2008-02-27 19:56:58 +0000 (Wed, 27 Feb 2008) | 5 lines
Correct the constant OPTION_BINDING_KEY that resulted in a test case failure
Modified the AMQBindingURL to fix an error in the toString method
Added more test cases to the main method in the BindingURLParser for quick testing, these cases are also present as unit tests.
........
r631697 | rajith | 2008-02-27 19:59:13 +0000 (Wed, 27 Feb 2008) | 2 lines
Added another test to check for URISyntaxException when both routingkey and bindingkey is specified
........
r631698 | rajith | 2008-02-27 20:01:12 +0000 (Wed, 27 Feb 2008) | 3 lines
Fixed the toString method to avoid printing both a routingkey and bindingkey and also to properly printout the bindingkeys when required.
This bug caused 3 test failures.
........
r631740 | aconway | 2008-02-27 21:49:04 +0000 (Wed, 27 Feb 2008) | 4 lines
Generating domains, structs, commands and controls for 0-10 final spec.
Not yet generating: holders, visitors.
........
r631790 | aconway | 2008-02-28 00:32:56 +0000 (Thu, 28 Feb 2008) | 3 lines
Added missing generated files to distribution.
........
r631823 | aconway | 2008-02-28 03:08:42 +0000 (Thu, 28 Feb 2008) | 3 lines
Added missing generated files to RPM.
........
r631931 | arnaudsimon | 2008-02-28 11:17:50 +0000 (Thu, 28 Feb 2008) | 1 line
See Qpid-817
........
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/thegreatmerge@632040 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@592494 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@590512 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Classes:
- client::no_keyword::Session_0_10 - plain defaulted signatures
- client::Session_0_10 - keyword API.
Keyword API changes:
- keywords in client::arg namespace, user says: s.bind(arg::queue="x"...)
- user can omit with: using namespace client::arg; s.bind(queue="x"...)
- No trailing "_" required on session functions.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@590498 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*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
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@585097 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
not yet enabled)
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@580094 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@574323 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
* rubygen/templates/structs.rb: Use class Uuid for AMQP uuids.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@570595 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
* rubygen/amqpgen.rb: Removed unnecessary sorting.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@570111 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added nodes for all amqp.xml elements except doc, assert and
rule. (They can easily be added.) In particular AmqpDomain
is a proper node, providing a place to do type mapping.
Every node has reader methods for AMQP attributes/elements:
- attr() for each AMQP attribute "attr" returns the string value.
- foos() returns AmqpElements for all the "foo" children.
- foo(name) returns AmqpElements for the named "foo" child
domain() returns an AmqpDomain rather than the string name.
Method names that would clash with Object methods get a trailing "_"
So: class_/classes, method_/methods_, type_/types
Notes:
- no amqp_ prefixes.
- AmqpElement does not inherit REXML::Element,
AmqpElement#xml() to get the REXML element.
Performance: all templates run in 2.8 seconds on my laptop,
compared to almost two minutes previously. Main change was to
replace xpath searches with simple descent of the Amqp model
and cache values selectively based on profiling.
* rubygen/cppgen.rb:
- Updated for amqpgen changes.
- Introduced CppType to manage C++ type information
- Moved all type mapping to CppType/AmqpDomain
Some templates still do their own type calculations, these
should be centralized in CppType so they can be re-used.
* rubygen/templates/*: Updated for new API
* src/qpid/framing/amqp_types_full.h: Added Uuid.h
* xml/cluster.xml: change "type" attribute to "domain"
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@570096 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AMQFrame contains a boost::variant of AMQHeaderBody,AMQContentBody,
AMQHeatbeatBody, and MethodHolder. A variant is basically a type-safe
union, it can allocate any of the types in-place.
MethodHolder contains a Blob, a less sophisticated kind of variant,
which can contain any of the concrete method body types.
Using variants for all the method types causes outrageous compile
times and bloated library symbol names. Blob lacks some of the finer
features of variant and needs help from generated code. For now both
are hidden to the rest of the code base behind AMQFrame and MethodBody
classes so if/when we decide to settle on just one "variant" type
solution we can do so.
This commit touches nearly 100 files, mostly converting method
signatures with shared_ptr<FooBody> to FooBody* or FooBody&, and
converting stored shared_ptr<AMQBody> to AMQFrame and
share_ptr<AMQMethodBody> to MethodHolder.
There is one outstanding client memory leak, which I will fix in my next commit.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@566822 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@565821 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
| |
Replace boost::variant with Blob.
* rubygen/templates/MethodHolder.rb:
Generate support files for Blob-based MethodHolder.
* src/Makefile.am: generate MethodHolder suppport files.
* rubygen/cppgen.rb: Minor fixes/enhancements.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@564409 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
| |
- Renamed methods*() to amqp_methods, classes*() to amqp_classes.
- Renamed CppGen.class_() to cpp_class.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@564225 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@564051 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a shared_ptr to a heap-allocated AMQBody subclass, it holds the
body in-line in a boost::variant of all the concrete AMQBody
subclasses. Actually there are nested variants, the compiler
does not cope well with a single variant of 130-some types.
Creating, encoding and decoding a local Frame doess 0 heap
allocation apart from that done by the concrete
AMQBody::encode/decode - e.g. method bodies with std::string
fields. for method bodies
All variants contain type boost::blank. This guarantees 0 heap
alloocation by the variant and represents the "uninitialized"
state. variant.h provides NoBlankVisitor to help write visitors
for variants containing blank.
* src/qpid/framing/MethodHolder.h, .cpp: Holds a variant
containing a method body.
* src/qpid/framing/Frame.h, .cpp: New Frame holds body in a
variant rather than via heap allocation.
* src/qpid/framing/variant.h: Utilities for using boost::variant.
* src/qpid/framing/amqp_types.h: Added FrameType typedef.
* src/qpid/framing/AMQMethodBody.h: Friends with MethodHolder.
* src/Makefile.am:
- Improved ruby generation rule.
- Run method_variants template.
- Added new source files
- Pre-compiled header rule for method_variants.h
* rubygen/templates/method_variants.rb: Generate variants
to hold methods of each class, and MethodVariant to hold all
the class variants.
* rubygen/cppgen.rb: variant, tuple methods.
* MethodBodyClass.h.tmpl: Added default constructor to method bodies.
* amqpgen.rb (AmqpRoot::merge): fix bug in merge.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@563683 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
| |
Old channel interface still supported; shares SessionCore with the new interface.
Todo: allow applications to signal completion of received commands; keywrod args for interface.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@562866 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
| |
* cppgen.rb:
- 0-10 types
- typedef generator
- automatic whitespace around classes etc.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@562845 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@562255 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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@561869 13f79535-47bb-0310-9956-ffa450edef68
|
|
Not yet in active use yet but two sample templates are provided.
Note: same dependency story as java codegen: distribution has pre-generated
code so ruby not required to build a distro. Only required for svn working
copy builds.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@561468 13f79535-47bb-0310-9956-ffa450edef68
|