<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/qpid-python.git/cpp/src/qpid/framing/ChannelAdapter.h, branch 0.6rc1</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>Deleted unused classes, adjusted files that still mention them.</title>
<updated>2008-01-29T14:48:59+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2008-01-29T14:48:59+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=6b6dfc1709eace6db0c624676ad297e34fef4aa7'/>
<id>6b6dfc1709eace6db0c624676ad297e34fef4aa7</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>	* Summary:</title>
<updated>2007-08-31T20:51:22+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-08-31T20:51:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=761e10501fe5ea51f9d8c40d9a200ae27193ab23'/>
<id>761e10501fe5ea51f9d8c40d9a200ae27193ab23</id>
<content type='text'>
	 - 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 &amp; 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/qpid@571575 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	 - 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 &amp; 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/qpid@571575 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>	* src/qpid/broker/Session.h, .cpp: Session holds all state of a session including</title>
<updated>2007-08-29T23:27:40+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-08-29T23:27:40+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=e183227707d150b1f42e750df0e90cd7dac8744e'/>
<id>e183227707d150b1f42e750df0e90cd7dac8744e</id>
<content type='text'>
	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/qpid@570982 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	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/qpid@570982 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>Deleted following files that are obsolete for 0-10:</title>
<updated>2007-08-14T14:29:07+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2007-08-14T14:29: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=b3ddadd9b15088afecf1f9774d2004258b164258'/>
<id>b3ddadd9b15088afecf1f9774d2004258b164258</id>
<content type='text'>
      src/qpid/framing/AMQRequestBody.cpp
      src/qpid/framing/AMQRequestBody.h
      src/qpid/framing/AMQResponseBody.cpp
      src/qpid/framing/AMQResponseBody.h
      src/qpid/framing/Correlator.cpp
      src/qpid/framing/Correlator.h
      src/qpid/framing/MethodContext.cpp
      src/qpid/framing/Requester.cpp
      src/qpid/framing/Requester.h
      src/qpid/framing/Responder.cpp
      src/qpid/framing/Responder.h

Made changes to support their deletion.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@565770 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
      src/qpid/framing/AMQRequestBody.cpp
      src/qpid/framing/AMQRequestBody.h
      src/qpid/framing/AMQResponseBody.cpp
      src/qpid/framing/AMQResponseBody.h
      src/qpid/framing/Correlator.cpp
      src/qpid/framing/Correlator.h
      src/qpid/framing/MethodContext.cpp
      src/qpid/framing/Requester.cpp
      src/qpid/framing/Requester.h
      src/qpid/framing/Responder.cpp
      src/qpid/framing/Responder.h

Made changes to support their deletion.


git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@565770 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://91.123.203.49/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>Added initial 'execution-layer' to try out methods form the 0-10 execution class.</title>
<updated>2007-07-23T12:29:17+00:00</updated>
<author>
<name>Gordon Sim</name>
<email>gsim@apache.org</email>
</author>
<published>2007-07-23T12:29:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=0db1af31320aa010c8e97da80000f7548d889068'/>
<id>0db1af31320aa010c8e97da80000f7548d889068</id>
<content type='text'>
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@558700 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@558700 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>Some refactoring towards a more decoupled handler chain structure:</title>
<updated>2007-07-17T08:28:48+00:00</updated>
<author>
<name>Gordon Sim</name>
<email>gsim@apache.org</email>
</author>
<published>2007-07-17T08:28: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=ce9743f8f1640d42af5fe7aaa8fe7e3ca82a914d'/>
<id>ce9743f8f1640d42af5fe7aaa8fe7e3ca82a914d</id>
<content type='text'>
* Connection no longer depends on Channel; it contains a map of
  FrameHandler::Chains. (The construction of the chains still refers
  to specific handlers).

* Channel is no longer tied to ChannelAdapter through inheritance. The
  former is independent of any particular handler chain or protocol
  version, the latter is still used by ConnectionAdapter and
  SemanticHandler in the 0-9 chain.

* A DeliveryAdapter interface has been introduced as part of the
  separation of ChannelAdapter from Channel. This is intended to adapt
  from a version independent core to version specific mechanisms for
  sending messages. i.e. it fulfills the same role for outputs that
  e.g. BrokerAdapter does for inputs. (Its not perfect yet by any
  means but is a step on the way to the correct model I think).

* The connection related methods sent over channel zero are
  implemented in their own adapter (ConnectionAdapter), and are
  entirely separate from the semantic layer. The channel control
  methods are still bundled with the proper semantic layer methods;
  they too can be separated but would have to share the request id
  with the semantic method handler due to the nature of the 0-9 WIP.



git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@556846 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Connection no longer depends on Channel; it contains a map of
  FrameHandler::Chains. (The construction of the chains still refers
  to specific handlers).

* Channel is no longer tied to ChannelAdapter through inheritance. The
  former is independent of any particular handler chain or protocol
  version, the latter is still used by ConnectionAdapter and
  SemanticHandler in the 0-9 chain.

* A DeliveryAdapter interface has been introduced as part of the
  separation of ChannelAdapter from Channel. This is intended to adapt
  from a version independent core to version specific mechanisms for
  sending messages. i.e. it fulfills the same role for outputs that
  e.g. BrokerAdapter does for inputs. (Its not perfect yet by any
  means but is a step on the way to the correct model I think).

* The connection related methods sent over channel zero are
  implemented in their own adapter (ConnectionAdapter), and are
  entirely separate from the semantic layer. The channel control
  methods are still bundled with the proper semantic layer methods;
  they too can be separated but would have to share the request id
  with the semantic method handler due to the nature of the 0-9 WIP.



git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@556846 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix for QPID-534. Get now detects closure correctly. Also fixed broker to allow channel.close-ok (and fixed client to send it).</title>
<updated>2007-07-05T09:47:07+00:00</updated>
<author>
<name>Gordon Sim</name>
<email>gsim@apache.org</email>
</author>
<published>2007-07-05T09:47: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=07c8c499649c725a226eeda3e0bfe58fa8ba984c'/>
<id>07c8c499649c725a226eeda3e0bfe58fa8ba984c</id>
<content type='text'>
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@553441 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@553441 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
</feed>
