<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/qpid-python.git/cpp/src/tests/Cluster.h, branch address-refactor</title>
<subtitle>git.apache.org: qpid.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/'/>
<entry>
<title>Cluster code fixed for changes in codebase.</title>
<updated>2008-02-01T18:02:42+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2008-02-01T18:02:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=4db96f7ad47c69982cdc6cf7b5e5c47b00f1144b'/>
<id>4db96f7ad47c69982cdc6cf7b5e5c47b00f1144b</id>
<content type='text'>
 - Using SessionManager::Observer 
 - Better ais test setup, only need to be member of ais group.
 - Update cluster_client
 - SessionState holds handler chains.
 - Cluster frames include next handler ptr.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@617582 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 - Using SessionManager::Observer 
 - Better ais test setup, only need to be member of ais group.
 - Update cluster_client
 - SessionState holds handler chains.
 - Cluster frames include next handler ptr.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@617582 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>client/BlockingQueue.h, sys/ConcurrentQueue.h: merged to sys/BlockingQueue.h</title>
<updated>2007-10-29T21:14:44+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-10-29T21:14:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=da6e2b9f62966ef7d0cb69f58ffe1365af98d676'/>
<id>da6e2b9f62966ef7d0cb69f58ffe1365af98d676</id>
<content type='text'>
 - updated all users 	  

qpid/Exception.h: Removed unimplemented clone() function.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@589857 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 - updated all users 	  

qpid/Exception.h: Removed unimplemented clone() function.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@589857 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title> - Update cluster code to work with new FrameHandler</title>
<updated>2007-08-30T17:06:44+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-08-30T17:06:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=efa3feb65f59e10a378b9074ac2d01b540a3278c'/>
<id>efa3feb65f59e10a378b9074ac2d01b540a3278c</id>
<content type='text'>
 - Update ClassifierHandler to  use Visitor rather than map.
 - Replace heap allocation in cluster classes with boost::optional.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@571246 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 - Update ClassifierHandler to  use Visitor rather than map.
 - Replace heap allocation in cluster classes with boost::optional.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@571246 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://git.baserock.org/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>Drop SessionFrame, UUID is not required and more efficient to transmit plain</title>
<updated>2007-07-27T19:27:43+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-07-27T19:27:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=ac669123004b6e78468cc4fcea3ffb4b9d7b7bd3'/>
<id>ac669123004b6e78468cc4fcea3ffb4b9d7b7bd3</id>
<content type='text'>
AMQFrames.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@560356 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
AMQFrames.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@560356 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>	* README: Instructions for openais install.</title>
<updated>2007-07-26T15:47:23+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-07-26T15:47:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=233cc9184c758702d8fa4a83d1bf8ec7dc0b3474'/>
<id>233cc9184c758702d8fa4a83d1bf8ec7dc0b3474</id>
<content type='text'>
	* configure.ac: Enable clustering if suitable openais is present.

	* src/tests/Cluster.cpp, .h, Cluster_child: Updated for 0-10

	* src/qpid/sys/ConcurrentQueue.h: Added waitPop()

	* src/Makefile.am, src/qpid/sys/ThreadSafeQueue.h, ProducerConsumer.h:
	Removed unused code, ConcurrentQueue provides same functionality.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@559859 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* configure.ac: Enable clustering if suitable openais is present.

	* src/tests/Cluster.cpp, .h, Cluster_child: Updated for 0-10

	* src/qpid/sys/ConcurrentQueue.h: Added waitPop()

	* src/Makefile.am, src/qpid/sys/ThreadSafeQueue.h, ProducerConsumer.h:
	Removed unused code, ConcurrentQueue provides same functionality.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@559859 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>	* Summary:</title>
<updated>2007-07-24T19:39:27+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-07-24T19:39:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=b7c528b027bff7585481c9ce3a01144040c6de5a'/>
<id>b7c528b027bff7585481c9ce3a01144040c6de5a</id>
<content type='text'>
	 - Wiring (declare/delete/bind) is replicated via AIS.
	 - TestOptions includes all logging options.
	 - Logger automatically parses env vars so logging can be enabled
	 for any program linked with libqpidcommon e.g. by setting QPID_TRACE=1.

	* src/qpid/cluster/SessionManager.cpp: Handle frames from cluster
	 - Forward to BrokerAdapter for execution.
	 - Suppress responses in proxy.

	* src/tests/TestOptions.h (Options): Logging options, --help option.

	* src/qpid/client/ClientConnection.cpp: Removed log initialization.
	Logs are initialized either in TestOptions or automatically from env vars,
	e.g. QPID_TRACE,
	
	* src/qpid/QpidError.h (class QpidError): Initialize Exception in
	constructor so messages can be logged.

	* src/qpid/framing/ChannelAdapter.h: Made send() virtual.

	* src/tests/Cluster_child.cpp: UUID corrected.

	* src/qpid/broker/Broker.cpp: Pass chains to updater by ref.

	* src/qpid/Options.cpp (parse): Fix log settings from environment.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@559171 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	 - Wiring (declare/delete/bind) is replicated via AIS.
	 - TestOptions includes all logging options.
	 - Logger automatically parses env vars so logging can be enabled
	 for any program linked with libqpidcommon e.g. by setting QPID_TRACE=1.

	* src/qpid/cluster/SessionManager.cpp: Handle frames from cluster
	 - Forward to BrokerAdapter for execution.
	 - Suppress responses in proxy.

	* src/tests/TestOptions.h (Options): Logging options, --help option.

	* src/qpid/client/ClientConnection.cpp: Removed log initialization.
	Logs are initialized either in TestOptions or automatically from env vars,
	e.g. QPID_TRACE,
	
	* src/qpid/QpidError.h (class QpidError): Initialize Exception in
	constructor so messages can be logged.

	* src/qpid/framing/ChannelAdapter.h: Made send() virtual.

	* src/tests/Cluster_child.cpp: UUID corrected.

	* src/qpid/broker/Broker.cpp: Pass chains to updater by ref.

	* src/qpid/Options.cpp (parse): Fix log settings from environment.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@559171 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>	* src/tests/cluster.mk: Enable cluster test.</title>
<updated>2007-07-23T13:08:16+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-07-23T13:08:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=1a469b992ef2f28d98f43e63cf4d520c1bf830a4'/>
<id>1a469b992ef2f28d98f43e63cf4d520c1bf830a4</id>
<content type='text'>
	* src/tests/Cluster.h (class TestHandler):
	Fixed race in TestHandler::waitFor

	* src/tests/Cluster.cpp
	 - Allow separate start of parent and child processes.

	* src/qpid/Options.cpp (parse): Skip argv parsing if argc=0.

	* src/qpid/cluster/Cluster.cpp (configChange): assert group name.

	* src/qpid/cluster/Cpg.cpp, .h: Additional  logging

	* src/qpid/framing/AMQFrame.cpp: Initialize all fields in ctor,
	avoid valgrind warning.

	* src/qpid/log/Logger.cpp: Initialize singleton automatically
	from environment so logging can be used on tests.

	* src/qpid/sys/Time.h: Avoid overflow in AbsTime(t, TIME_INFINITE)


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@558710 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* src/tests/Cluster.h (class TestHandler):
	Fixed race in TestHandler::waitFor

	* src/tests/Cluster.cpp
	 - Allow separate start of parent and child processes.

	* src/qpid/Options.cpp (parse): Skip argv parsing if argc=0.

	* src/qpid/cluster/Cluster.cpp (configChange): assert group name.

	* src/qpid/cluster/Cpg.cpp, .h: Additional  logging

	* src/qpid/framing/AMQFrame.cpp: Initialize all fields in ctor,
	avoid valgrind warning.

	* src/qpid/log/Logger.cpp: Initialize singleton automatically
	from environment so logging can be used on tests.

	* src/qpid/sys/Time.h: Avoid overflow in AbsTime(t, TIME_INFINITE)


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@558710 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>	* Summary:</title>
<updated>2007-07-19T21:52:24+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-07-19T21:52:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=cb566519d58ded6704507fa5530bf901e620edf6'/>
<id>cb566519d58ded6704507fa5530bf901e620edf6</id>
<content type='text'>
	 - Connect cluster handlers into broker handler	chains.
	 - Progress on wiring replication.
	
	* src/tests/cluster.mk: Temporarily disabled Cluster test.

	* src/tests/Cluster.h, cpp, Cluster_child.cpp: Updated to use UUIDs.

	* src/qpidd.cpp:
	 - Load optional libs (cluster)
	 - Include plugin config in options.parse.

	* src/qpid/cluster/SessionManager.h:
	 - Create sessions, update handler chains (as HandlerUpdater)
	 - Handle frames from cluster.

	* src/qpid/cluster/ClusterPlugin.h, .cpp:
	 - renamed from ClusterPluginProvider
	 - Create and connect Cluster and SessionManager.
	 - Register SessionManager as HandlerUpdater.

	* src/qpid/cluster/Cluster.h, .cpp: Refactor as SessionFrameHandler.

	* src/qpid/broker/Connection.cpp: Apply HandlerUpdaters.

	* src/qpid/broker/Broker.h, .cpp:
	 - Initialize plugins
	 - Apply HandlerUpdaters

	* src/qpid/Plugin.h, .cpp: Simplified plugin framework.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@557788 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	 - Connect cluster handlers into broker handler	chains.
	 - Progress on wiring replication.
	
	* src/tests/cluster.mk: Temporarily disabled Cluster test.

	* src/tests/Cluster.h, cpp, Cluster_child.cpp: Updated to use UUIDs.

	* src/qpidd.cpp:
	 - Load optional libs (cluster)
	 - Include plugin config in options.parse.

	* src/qpid/cluster/SessionManager.h:
	 - Create sessions, update handler chains (as HandlerUpdater)
	 - Handle frames from cluster.

	* src/qpid/cluster/ClusterPlugin.h, .cpp:
	 - renamed from ClusterPluginProvider
	 - Create and connect Cluster and SessionManager.
	 - Register SessionManager as HandlerUpdater.

	* src/qpid/cluster/Cluster.h, .cpp: Refactor as SessionFrameHandler.

	* src/qpid/broker/Connection.cpp: Apply HandlerUpdaters.

	* src/qpid/broker/Broker.h, .cpp:
	 - Initialize plugins
	 - Apply HandlerUpdaters

	* src/qpid/Plugin.h, .cpp: Simplified plugin framework.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@557788 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>	* src/qpid/cluster/SessionFrame.cpp, .h:  Wrap AMQFrame with</title>
<updated>2007-07-05T16:08:29+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-07-05T16:08:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=0865408d7fa16f913391ed9391fb13268a74d8a1'/>
<id>0865408d7fa16f913391ed9391fb13268a74d8a1</id>
<content type='text'>
	  session UUID and direction.
	  
	* src/qpid/cluster/Cluster.cpp, .h: Use SessionFrame.

	* src/qpid/framing/AMQFrame.h, .cpp: Added setBody(), inline getBody()

	* src/qpid/framing/Uuid.h, .cpp:  Clean up constructors, inline.

	* src/qpid/framing/Buffer.h: Put/get byte*, size_T.

	* src/qpid/cluster/SessionManager.cpp, .h:
	 - Maintain the session map.
	 - Handle frames from cluster, dispatch to proper channels.
	 - Implement HandlerUpdater for new channels and maintains


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@553543 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	  session UUID and direction.
	  
	* src/qpid/cluster/Cluster.cpp, .h: Use SessionFrame.

	* src/qpid/framing/AMQFrame.h, .cpp: Added setBody(), inline getBody()

	* src/qpid/framing/Uuid.h, .cpp:  Clean up constructors, inline.

	* src/qpid/framing/Buffer.h: Put/get byte*, size_T.

	* src/qpid/cluster/SessionManager.cpp, .h:
	 - Maintain the session map.
	 - Handle frames from cluster, dispatch to proper channels.
	 - Implement HandlerUpdater for new channels and maintains


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@553543 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
</feed>
