<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Mailbox state machine (Mailnews Exchange support)</title>
	<atom:link href="http://mesquilla.com/2010/05/10/mailbox-state-machine-exchange-support/feed/" rel="self" type="application/rss+xml" />
	<link>http://mesquilla.com/2010/05/10/mailbox-state-machine-exchange-support/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mailbox-state-machine-exchange-support</link>
	<description>Messaging with Mozilla by rkent</description>
	<lastBuildDate>Thu, 09 Feb 2012 02:10:48 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: MesQuilla &#187; Blog Archive &#187; Thread pane and nsIMsgDBHdr/nsIMsgDatabase (Mailnews Exchange Support)</title>
		<link>http://mesquilla.com/2010/05/10/mailbox-state-machine-exchange-support/comment-page-1/#comment-317</link>
		<dc:creator>MesQuilla &#187; Blog Archive &#187; Thread pane and nsIMsgDBHdr/nsIMsgDatabase (Mailnews Exchange Support)</dc:creator>
		<pubDate>Fri, 21 May 2010 22:23:33 +0000</pubDate>
		<guid isPermaLink="false">http://mesquilla.com/?p=756#comment-317</guid>
		<description>[...] that I have a state machine to handle situations that need multiple SOAP calls, it was not a big leap forward to hookup the [...]</description>
		<content:encoded><![CDATA[<p>[...] that I have a state machine to handle situations that need multiple SOAP calls, it was not a big leap forward to hookup the [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rkent</title>
		<link>http://mesquilla.com/2010/05/10/mailbox-state-machine-exchange-support/comment-page-1/#comment-279</link>
		<dc:creator>rkent</dc:creator>
		<pubDate>Mon, 17 May 2010 14:10:10 +0000</pubDate>
		<guid isPermaLink="false">http://mesquilla.com/?p=756#comment-279</guid>
		<description>&quot;The Zindus addon implements a Mealy Machine&quot; - thanks for the reference. I&#039;ll check that out to see if a Mealy Machine provides the correct framework to maintain consistency in my design.

re &quot;colonial&quot; - A name is just a name, and there is no reason to carry the analogy into the actual design, ie &quot;is “thunderbird” really likely to be the source of truth that is propagated to exchange?&quot; As to &quot;I would have thought the reverse&quot;, you are right that at some level &quot;tb and exchange are peers.&quot;. After I started using &quot;native&quot; to name the Mozilla platform Exchange objects, I realized that it was just as valid to view the Mozilla mailnews objects as &quot;native&quot; and Exchange as somehow &quot;foreign&quot;. But they are peers, and who is the native and who is the foreigner depends entirely on your perspective.

By the way, I did a posting on m.d.a.t proposing to call the Mozilla Mailnews layer by a more distinctive name, &quot;Skink&quot;. This conversation is a typical example of where I would love to have a better word for those objects than &quot;Mozilla Mailnews&quot; - bugt I got zero traction on that.</description>
		<content:encoded><![CDATA[<p>&#8220;The Zindus addon implements a Mealy Machine&#8221; &#8211; thanks for the reference. I&#8217;ll check that out to see if a Mealy Machine provides the correct framework to maintain consistency in my design.</p>
<p>re &#8220;colonial&#8221; &#8211; A name is just a name, and there is no reason to carry the analogy into the actual design, ie &#8220;is “thunderbird” really likely to be the source of truth that is propagated to exchange?&#8221; As to &#8220;I would have thought the reverse&#8221;, you are right that at some level &#8220;tb and exchange are peers.&#8221;. After I started using &#8220;native&#8221; to name the Mozilla platform Exchange objects, I realized that it was just as valid to view the Mozilla mailnews objects as &#8220;native&#8221; and Exchange as somehow &#8220;foreign&#8221;. But they are peers, and who is the native and who is the foreigner depends entirely on your perspective.</p>
<p>By the way, I did a posting on m.d.a.t proposing to call the Mozilla Mailnews layer by a more distinctive name, &#8220;Skink&#8221;. This conversation is a typical example of where I would love to have a better word for those objects than &#8220;Mozilla Mailnews&#8221; &#8211; bugt I got zero traction on that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leni</title>
		<link>http://mesquilla.com/2010/05/10/mailbox-state-machine-exchange-support/comment-page-1/#comment-275</link>
		<dc:creator>Leni</dc:creator>
		<pubDate>Sun, 16 May 2010 22:58:56 +0000</pubDate>
		<guid isPermaLink="false">http://mesquilla.com/?p=756#comment-275</guid>
		<description>Kent, I think you are on the right track with your use of a state machine.

The Zindus addon implements a Mealy Machine:

http://en.wikipedia.org/wiki/Finite_state_machine#Transducers

and experience has shown this to be a very useful design pattern in:
- maintaining consistency
- knowing when consistency is lost
- co-ordinating changes in state across local and remote authorities

re: &quot;colonial&quot; terminology: I can see why you chose it, but it implies a master/slave relation and when push comes to shove (ie when consistency is lost and need to be re-established) is &quot;thunderbird&quot; really likely to be the source of truth that is propagated to exchange?  I would have thought the reverse or at least that tb and exchange are peers.</description>
		<content:encoded><![CDATA[<p>Kent, I think you are on the right track with your use of a state machine.</p>
<p>The Zindus addon implements a Mealy Machine:</p>
<p><a href="http://en.wikipedia.org/wiki/Finite_state_machine#Transducers" rel="nofollow">http://en.wikipedia.org/wiki/Finite_state_machine#Transducers</a></p>
<p>and experience has shown this to be a very useful design pattern in:<br />
- maintaining consistency<br />
- knowing when consistency is lost<br />
- co-ordinating changes in state across local and remote authorities</p>
<p>re: &#8220;colonial&#8221; terminology: I can see why you chose it, but it implies a master/slave relation and when push comes to shove (ie when consistency is lost and need to be re-established) is &#8220;thunderbird&#8221; really likely to be the source of truth that is propagated to exchange?  I would have thought the reverse or at least that tb and exchange are peers.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

