<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.erights.org/mediawiki/skins/common/feed.css?207"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.erights.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Proxy</id>
		<title>Proxy - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.erights.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Proxy"/>
		<link rel="alternate" type="text/html" href="http://wiki.erights.org/mediawiki/index.php?title=Proxy&amp;action=history"/>
		<updated>2026-05-15T13:40:11Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.15.5-7</generator>

	<entry>
		<id>http://wiki.erights.org/mediawiki/index.php?title=Proxy&amp;diff=1579&amp;oldid=prev</id>
		<title>Kevin Reid:&amp;#32;/* makeProxy */ explain resolutionSlot</title>
		<link rel="alternate" type="text/html" href="http://wiki.erights.org/mediawiki/index.php?title=Proxy&amp;diff=1579&amp;oldid=prev"/>
				<updated>2009-07-25T13:03:39Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;makeProxy:&amp;#32;&lt;/span&gt; explain resolutionSlot&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;A proxy is an [[eventual reference]] whose behavior is specified by other references.&lt;br /&gt;
&lt;br /&gt;
In current implementations, all eventual references are either primitive promises or proxies, and proxies are the only way to create [[far reference|far references]] and [[pipelining]] [[remote promise|remote promises]].&lt;br /&gt;
&lt;br /&gt;
== [http://erights.org/javadoc/org/erights/e/elib/ref/ProxyResolver.html makeEProxyResolver] ==&lt;br /&gt;
&lt;br /&gt;
See [http://erights.org/javadoc/org/erights/e/elib/ref/ProxyResolver.html] for documentation. This protocol is deprecated because clients of it may break [[sameness]] by creating proxies with the same identity but different behavior.&lt;br /&gt;
&lt;br /&gt;
== makeProxy ==&lt;br /&gt;
&lt;br /&gt;
The new proxy maker protocol, which is robust and available as a safe import. See [http://www.eros-os.org/pipermail/e-lang/2007-March/011918.html] and the nearby thread for the discussion of its creation.&lt;br /&gt;
&lt;br /&gt;
FQN (importable): &amp;lt;code&amp;gt;org.erights.e.ref.makeProxy&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
&lt;br /&gt;
[[Category:Message run/3]]&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;(&amp;lt;var&amp;gt;handler&amp;lt;/var&amp;gt; :[[#ProxyHandler|ProxyHandler]], &amp;lt;var&amp;gt;resolutionSlot&amp;lt;/var&amp;gt; :[[vow]]&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[FinalSlot]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;, &amp;lt;var&amp;gt;far&amp;lt;/var&amp;gt; :[[boolean]]) :rcvr&lt;br /&gt;
: Creates a new proxy. &amp;lt;var&amp;gt;handler&amp;lt;/var&amp;gt; is the handler for messages sent to the proxy; &amp;lt;var&amp;gt;resolutionSlot&amp;lt;/var&amp;gt; specifies the resolution (see below); &amp;lt;var&amp;gt;far&amp;lt;/var&amp;gt; is true if the proxy is to be a [[Far ref]] and false for a [[remote promise]].&lt;br /&gt;
&lt;br /&gt;
For a given &amp;lt;var&amp;gt;handler&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;resolutionSlot&amp;lt;/var&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
* all results of makeProxy.run(&amp;lt;var&amp;gt;handler&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;resolutionSlot&amp;lt;/var&amp;gt;, [[false]]) are the [[same]].&lt;br /&gt;
* all results of makeProxy.run(&amp;lt;var&amp;gt;handler&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;resolutionSlot&amp;lt;/var&amp;gt;, [[true]]) between which &amp;lt;var&amp;gt;resolutionSlot&amp;lt;/var&amp;gt; has not further resolved (as in [[TraversalKey]]) are the [[same]].&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;resolutionSlot&amp;lt;/var&amp;gt; should be a [[vow]] for a [[FinalSlot]] whose value is the reference to which this proxy resolves. As soon as &amp;lt;var&amp;gt;resolutionSlot&amp;lt;/var&amp;gt; is itself resolved, the proxy will turn into its resolution; &amp;lt;var&amp;gt;handler&amp;lt;/var&amp;gt; will never again be invoked.&lt;br /&gt;
&lt;br /&gt;
Far proxies may only be resolved to [[broken reference|broken references]]; if the resolution is something else, or if &amp;lt;var&amp;gt;resolutionSlot&amp;lt;/var&amp;gt; resolves to something not a [[FinalSlot]], then the proxy will resolve to a [[broken reference]] whose (sealed, if applicable) problem indicates that error.&lt;br /&gt;
&lt;br /&gt;
Send and sendOnly on a proxy send the corresponding &amp;lt;code&amp;gt;handle*&amp;lt;/code&amp;gt; messages to &amp;lt;var&amp;gt;handler&amp;lt;/var&amp;gt;. [[Object Ref#optSealedDispatch|Ref.optSealedDispatch]] on a proxy calls &amp;lt;var&amp;gt;handler&amp;lt;/var&amp;gt;&amp;lt;code&amp;gt;.handleOptSealedDispatch&amp;lt;/code&amp;gt; immediately.&lt;br /&gt;
&lt;br /&gt;
===Rationale for resolutionSlot===&lt;br /&gt;
&lt;br /&gt;
The old ProxyResolver facility was a [[Resolver]] which could resolve the proxy. The problem with this interface is that, since it is imperative, the proxy's total behavior depends on the holder of the resolver and not solely on its components. Therefore, ProxyResolver clients could make two proxies which are allegedly the [[same]] but actually differ in behavior (different resolutions). Using a promise to specify the resolution avoids this possibility because promises can be compared.&lt;br /&gt;
&lt;br /&gt;
The reason a promise for a slot containing the resolution is used, rather than a promise for the resolution, is so that the resolution itself being a promise can be distinguished from the resolution not having occurred yet.&lt;br /&gt;
&lt;br /&gt;
== ProxyHandler ==&lt;br /&gt;
&lt;br /&gt;
Protocol for the handler supplied by the client of makeProxy.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
&lt;br /&gt;
* handleSend(&amp;lt;var&amp;gt;verb&amp;lt;/var&amp;gt; :[[String]], &amp;lt;var&amp;gt;args&amp;lt;/var&amp;gt; :[[List (guard)|List]]) :[[any]]&lt;br /&gt;
* handleSendOnly(&amp;lt;var&amp;gt;verb&amp;lt;/var&amp;gt; :[[String]], &amp;lt;var&amp;gt;args&amp;lt;/var&amp;gt; :[[List (guard)|List]]) :[[any]]&lt;br /&gt;
* handleOptSealedDispatch(&amp;lt;var&amp;gt;brand&amp;lt;/var&amp;gt;) :[[any]]&lt;br /&gt;
[[Category:Message handleSend/2]]&lt;br /&gt;
[[Category:Message handleSendOnly/2]]&lt;br /&gt;
[[Category:Message handleOptSealedDispatch/1]]&lt;br /&gt;
&lt;br /&gt;
XXX document these&lt;br /&gt;
&lt;br /&gt;
[[Category:ELib specification]]&lt;br /&gt;
[[Category:Protocols]]&lt;/div&gt;</summary>
		<author><name>Kevin Reid</name></author>	</entry>

	<entry>
		<id>http://wiki.erights.org/mediawiki/index.php?title=Proxy&amp;diff=3251&amp;oldid=prev</id>
		<title>Kevin Reid:&amp;#32;/* ProxyHandler */ missing msg cat arity</title>
		<link rel="alternate" type="text/html" href="http://wiki.erights.org/mediawiki/index.php?title=Proxy&amp;diff=3251&amp;oldid=prev"/>
				<updated>2008-08-11T17:16:38Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;ProxyHandler:&amp;#32;&lt;/span&gt; missing msg cat arity&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 17:16, 11 August 2008&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 41:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 41:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Message handleSend/2]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Message handleSend/2]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Message handleSendOnly/2]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Message handleSendOnly/2]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Message handleOptSealedDispatch]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Message handleOptSealedDispatch&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/1&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;XXX document these&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;XXX document these&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff generator: internal 2026-05-15 13:40:11 --&gt;
&lt;/table&gt;</summary>
		<author><name>Kevin Reid</name></author>	</entry>

	<entry>
		<id>http://wiki.erights.org/mediawiki/index.php?title=Proxy&amp;diff=3250&amp;oldid=prev</id>
		<title>Kevin Reid:&amp;#32;message cats, italic -&gt; var tags</title>
		<link rel="alternate" type="text/html" href="http://wiki.erights.org/mediawiki/index.php?title=Proxy&amp;diff=3250&amp;oldid=prev"/>
				<updated>2008-07-02T02:41:22Z</updated>
		
		<summary type="html">&lt;p&gt;message cats, italic -&amp;gt; var tags&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 02:41, 2 July 2008&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Methods:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Methods:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;handler&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/del&gt;:[[#ProxyHandler|ProxyHandler]], &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/del&gt;:[[vow]]&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[FinalSlot]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;far&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/del&gt;:[[boolean]]) :rcvr&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Category:Message run/3]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;: Creates a new proxy. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;handler&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/del&gt;is the handler for messages sent to the proxy; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/del&gt;specifies the resolution (see below); &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;far&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/del&gt;is true if the proxy is to be a [[Far ref]] and false for a [[remote promise]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;handler&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/ins&gt;:[[#ProxyHandler|ProxyHandler]], &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/ins&gt;:[[vow]]&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[FinalSlot]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;far&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/ins&gt;:[[boolean]]) :rcvr&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;: Creates a new proxy. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;handler&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/ins&gt;is the handler for messages sent to the proxy; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/ins&gt;specifies the resolution (see below); &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;far&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/ins&gt;is true if the proxy is to be a [[Far ref]] and false for a [[remote promise]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;For a given &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;handler&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/del&gt;and &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;, &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;For a given &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;handler&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/ins&gt;and &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt;&lt;/ins&gt;, &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* all results of makeProxy.run(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;handler&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;, [[false]]) are the [[same]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* all results of makeProxy.run(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;handler&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt;&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt;&lt;/ins&gt;, [[false]]) are the [[same]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* all results of makeProxy.run(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;handler&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;, [[true]]) between which &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/del&gt;has not further resolved (as in [[TraversalKey]]) are the [[same]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* all results of makeProxy.run(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;handler&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt;&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt;&lt;/ins&gt;, [[true]]) between which &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/ins&gt;has not further resolved (as in [[TraversalKey]]) are the [[same]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/del&gt;should be a [[vow]] for a [[FinalSlot]] whose value is the reference to which this proxy resolves. As soon as &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/del&gt;is itself resolved, the proxy will turn into its resolution; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;handler&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/del&gt;will never again be invoked.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/ins&gt;should be a [[vow]] for a [[FinalSlot]] whose value is the reference to which this proxy resolves. As soon as &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/ins&gt;is itself resolved, the proxy will turn into its resolution; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;handler&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/ins&gt;will never again be invoked.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Far proxies may only be resolved to [[broken reference|broken references]]; if the resolution is something else, or if &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/del&gt;resolves to something not a [[FinalSlot]], then the proxy will resolve to a [[broken reference]] whose (sealed, if applicable) problem indicates that error.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Far proxies may only be resolved to [[broken reference|broken references]]; if the resolution is something else, or if &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/ins&gt;resolves to something not a [[FinalSlot]], then the proxy will resolve to a [[broken reference]] whose (sealed, if applicable) problem indicates that error.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Send and sendOnly on a proxy send the corresponding &amp;lt;code&amp;gt;handle*&amp;lt;/code&amp;gt; messages to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;handler&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;. [[Object Ref#optSealedDispatch|Ref.optSealedDispatch]] on a proxy calls &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;handler&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;&amp;lt;code&amp;gt;.handleOptSealedDispatch&amp;lt;/code&amp;gt; immediately.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Send and sendOnly on a proxy send the corresponding &amp;lt;code&amp;gt;handle*&amp;lt;/code&amp;gt; messages to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;handler&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt;&lt;/ins&gt;. [[Object Ref#optSealedDispatch|Ref.optSealedDispatch]] on a proxy calls &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;handler&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt;&lt;/ins&gt;&amp;lt;code&amp;gt;.handleOptSealedDispatch&amp;lt;/code&amp;gt; immediately.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== ProxyHandler ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== ProxyHandler ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 35:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 36:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Methods:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Methods:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* handleSend(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;verb&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/del&gt;:[[String]], &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;args&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/del&gt;:[[List (guard)|List]]) :[[any]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* handleSend(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;verb&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/ins&gt;:[[String]], &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;args&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/ins&gt;:[[List (guard)|List]]) :[[any]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* handleSendOnly(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;verb&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/del&gt;:[[String]], &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;args&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/del&gt;:[[List (guard)|List]]) :[[any]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* handleSendOnly(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;verb&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/ins&gt;:[[String]], &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;args&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/ins&gt;:[[List (guard)|List]]) :[[any]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* handleOptSealedDispatch(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;brand&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;) :[[any]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* handleOptSealedDispatch(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;brand&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt;&lt;/ins&gt;) :[[any&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Category:Message handleSend/2]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Category:Message handleSendOnly/2]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Category:Message handleOptSealedDispatch&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;XXX document these&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;XXX document these&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff generator: internal 2026-05-15 13:40:12 --&gt;
&lt;/table&gt;</summary>
		<author><name>Kevin Reid</name></author>	</entry>

	<entry>
		<id>http://wiki.erights.org/mediawiki/index.php?title=Proxy&amp;diff=3249&amp;oldid=prev</id>
		<title>Kevin Reid:&amp;#32;categories</title>
		<link rel="alternate" type="text/html" href="http://wiki.erights.org/mediawiki/index.php?title=Proxy&amp;diff=3249&amp;oldid=prev"/>
				<updated>2008-07-02T02:37:07Z</updated>
		
		<summary type="html">&lt;p&gt;categories&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 02:37, 2 July 2008&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;XXX document these&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;XXX document these&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:ELib specification]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Protocols]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff generator: internal 2026-05-15 13:40:12 --&gt;
&lt;/table&gt;</summary>
		<author><name>Kevin Reid</name></author>	</entry>

	<entry>
		<id>http://wiki.erights.org/mediawiki/index.php?title=Proxy&amp;diff=3248&amp;oldid=prev</id>
		<title>Kevin Reid:&amp;#32;new page: add description of proxies, and makeProxy protocol</title>
		<link rel="alternate" type="text/html" href="http://wiki.erights.org/mediawiki/index.php?title=Proxy&amp;diff=3248&amp;oldid=prev"/>
				<updated>2007-04-18T19:27:38Z</updated>
		
		<summary type="html">&lt;p&gt;new page: add description of proxies, and makeProxy protocol&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:27, 18 April 2007&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Methods:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Methods:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[Category:Message run/3]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;handler&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;:[[#ProxyHandler|ProxyHandler]], &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;:[[vow]]&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[FinalSlot]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;far&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;:[[boolean]]) :rcvr&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;handler&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;:[[#ProxyHandler|ProxyHandler]], &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;:[[vow]]&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[FinalSlot]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;far&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;:[[boolean]]) :rcvr&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;: Creates a new proxy. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;handler&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;is the handler for messages sent to the proxy; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;specifies the resolution (see below); &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;far&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;is true if the proxy is to be a [[Far ref]] and false for a [[remote promise]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;: Creates a new proxy. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;handler&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;is the handler for messages sent to the proxy; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;specifies the resolution (see below); &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;far&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;is true if the proxy is to be a [[Far ref]] and false for a [[remote promise]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;For a given &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;handler&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;and &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt;&lt;/del&gt;, &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;For a given &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;handler&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;and &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;, &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* all results of makeProxy.run(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;handler&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt;&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt;&lt;/del&gt;, [[false]]) are the [[same]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* all results of makeProxy.run(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;handler&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;, [[false]]) are the [[same]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* all results of makeProxy.run(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;handler&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt;&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt;&lt;/del&gt;, [[true]]) between which &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;has not further resolved (as in [[TraversalKey]]) are the [[same]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* all results of makeProxy.run(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;handler&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;, [[true]]) between which &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;has not further resolved (as in [[TraversalKey]]) are the [[same]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;should be a [[vow]] for a [[FinalSlot]] whose value is the reference to which this proxy resolves. As soon as &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;is itself resolved, the proxy will turn into its resolution; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;handler&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;will never again be invoked.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;should be a [[vow]] for a [[FinalSlot]] whose value is the reference to which this proxy resolves. As soon as &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;is itself resolved, the proxy will turn into its resolution; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;handler&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;will never again be invoked.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Far proxies may only be resolved to [[broken reference|broken references]]; if the resolution is something else, or if &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;resolutionSlot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;resolves to something not a [[FinalSlot]], then the proxy will resolve to a [[broken reference]] whose (sealed, if applicable) problem indicates that error.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Far proxies may only be resolved to [[broken reference|broken references]]; if the resolution is something else, or if &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;resolutionSlot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;resolves to something not a [[FinalSlot]], then the proxy will resolve to a [[broken reference]] whose (sealed, if applicable) problem indicates that error.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Send and sendOnly on a proxy send the corresponding &amp;lt;code&amp;gt;handle*&amp;lt;/code&amp;gt; messages to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;handler&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt;&lt;/del&gt;. [[Object Ref#optSealedDispatch|Ref.optSealedDispatch]] on a proxy calls &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;handler&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt;&lt;/del&gt;&amp;lt;code&amp;gt;.handleOptSealedDispatch&amp;lt;/code&amp;gt; immediately&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Send and sendOnly on a proxy send the corresponding &amp;lt;code&amp;gt;handle*&amp;lt;/code&amp;gt; messages to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;handler&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;. [[Object Ref#optSealedDispatch|Ref.optSealedDispatch]] on a proxy calls &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;handler&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;&amp;lt;code&amp;gt;.handleOptSealedDispatch&amp;lt;/code&amp;gt; immediately.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;===Rationale for resolutionSlot===&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The old ProxyResolver facility was a [[Resolver]] which could resolve the proxy. The problem with this interface is that, since it is imperative, the proxy's total behavior depends on the holder of the resolver and not solely on its components. Therefore, ProxyResolver clients could make two proxies which are allegedly the [[same]] but actually differ in behavior (different resolutions). Using a promise to specify the resolution avoids this possibility because promises can be compared.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The reason a promise for a slot containing the resolution is used, rather than a promise for the resolution, is so that the resolution itself being a promise can be distinguished from the resolution not having occurred yet&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== ProxyHandler ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== ProxyHandler ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 42:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 35:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Methods:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Methods:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* handleSend(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;verb&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;:[[String]], &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;args&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;:[[List (guard)|List]]) :[[any]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* handleSend(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;verb&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;:[[String]], &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;args&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;:[[List (guard)|List]]) :[[any]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* handleSendOnly(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;verb&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;:[[String]], &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;args&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;:[[List (guard)|List]]) :[[any]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* handleSendOnly(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;verb&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;:[[String]], &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;args&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;:[[List (guard)|List]]) :[[any]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* handleOptSealedDispatch(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;brand&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/var&amp;gt;&lt;/del&gt;) :[[any&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* handleOptSealedDispatch(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;brand&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;) :[[any]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[Category:Message handleSend/2]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[Category:Message handleSendOnly/2]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[Category:Message handleOptSealedDispatch/1&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;XXX document these&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;XXX document these&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:ELib specification]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Protocols]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff generator: internal 2026-05-15 13:40:12 --&gt;
&lt;/table&gt;</summary>
		<author><name>Kevin Reid</name></author>	</entry>

	</feed>