<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/qpid-python.git/cpp/rubygen/templates/Proxy.rb, branch pre-M3</title>
<subtitle>git.apache.org: qpid.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/'/>
<entry>
<title>Generate code for both 0-99 preview and 0-10 final specs .</title>
<updated>2008-02-27T16:37:48+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2008-02-27T16:37:48+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=0731e05211ff5e47e6a8b2c006bd6012da5cc161'/>
<id>0731e05211ff5e47e6a8b2c006bd6012da5cc161</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>	* rubygen/templates/Proxy.rb, src/qpid/framing/Proxy.cpp, Proxy.h:</title>
<updated>2007-09-18T16:05:48+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-09-18T16:05:48+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=e0bf5acc51a983b2cb5c3d959b513d21a2cb57c1'/>
<id>e0bf5acc51a983b2cb5c3d959b513d21a2cb57c1</id>
<content type='text'>
	  Drop ChannelAdapter, construct Proxy from FrameHandler.

	* src/qpid/framing/amqp_types.h: Added missing decl for class Uuid.

	* src/qpid/broker/HandlerImpl.h, src/qpid/broker/ConnectionAdapter.cpp: Fix Proxy constructor calls
	* src/qpid/framing/AMQFrame.h (class AMQFrame): construct from AMQBody only.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@576963 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	  Drop ChannelAdapter, construct Proxy from FrameHandler.

	* src/qpid/framing/amqp_types.h: Added missing decl for class Uuid.

	* src/qpid/broker/HandlerImpl.h, src/qpid/broker/ConnectionAdapter.cpp: Fix Proxy constructor calls
	* src/qpid/framing/AMQFrame.h (class AMQFrame): construct from AMQBody only.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@576963 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>	* rubygen/amqpgen.rb: Performance and API improvements.</title>
<updated>2007-08-27T12:56:29+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-08-27T12:56:29+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=54b9b8aeb902851cd52825764938e1b012e06a43'/>
<id>54b9b8aeb902851cd52825764938e1b012e06a43</id>
<content type='text'>
	 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/qpid@570096 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	 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/qpid@570096 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>AMQBodies are no longer allocated on the heap and passed with shared_ptr.</title>
<updated>2007-08-16T20:12:33+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-08-16T20:12:33+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=49c7a491c98c26fe7d4f017a7ba655dfc029278c'/>
<id>49c7a491c98c26fe7d4f017a7ba655dfc029278c</id>
<content type='text'>
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&lt;FooBody&gt; to FooBody* or FooBody&amp;, and
converting stored shared_ptr&lt;AMQBody&gt; to AMQFrame and
share_ptr&lt;AMQMethodBody&gt; 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/qpid@566822 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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&lt;FooBody&gt; to FooBody* or FooBody&amp;, and
converting stored shared_ptr&lt;AMQBody&gt; to AMQFrame and
share_ptr&lt;AMQMethodBody&gt; 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/qpid@566822 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed unused types: RequestId, ResponseId, MethodContext.</title>
<updated>2007-08-14T16:15:26+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-08-14T16:15:26+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=cb65298edd497295d215220397f8fedff7b14aca'/>
<id>cb65298edd497295d215220397f8fedff7b14aca</id>
<content type='text'>
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@565821 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@565821 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid clash with built-in ruby function Object.methods():n</title>
<updated>2007-08-09T14:39:07+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-08-09T14:39:07+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=d2015d708bdb0c660cddd6969996c23daa6a5c49'/>
<id>d2015d708bdb0c660cddd6969996c23daa6a5c49</id>
<content type='text'>
 - 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/qpid@564225 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 - 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/qpid@564225 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>Moved Proxy generation to rubygen.</title>
<updated>2007-08-09T00:03:43+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-08-09T00:03:43+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=ba57e373864d44cfae17ec8c2c9de7a55f0b4113'/>
<id>ba57e373864d44cfae17ec8c2c9de7a55f0b4113</id>
<content type='text'>
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@564051 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@564051 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
</feed>
