[Telepathy-commits] [telepathy-spec/master] Text: Move "SHOULD implement Destroyable" after rationale for respawning, and give it its own rationale
Simon McVittie
simon.mcvittie at collabora.co.uk
Thu Oct 30 08:29:54 PDT 2008
---
spec/Channel_Type_Text.xml | 23 ++++++++++++++++++++---
1 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/spec/Channel_Type_Text.xml b/spec/Channel_Type_Text.xml
index 400111d..8340305 100644
--- a/spec/Channel_Type_Text.xml
+++ b/spec/Channel_Type_Text.xml
@@ -516,9 +516,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
<tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection">NewChannel</tp:dbus-ref>
signal (with the suppress_handler parameter set to FALSE).</p>
- <p>As a result, Text channels SHOULD implement <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">Channel.Interface.Destroyable</tp:dbus-ref>.</p>
-
<p>If messages were sent on the old channel but the
<tp:member-ref>Sent</tp:member-ref>signal has not yet been emitted
for those messages, the new channel SHOULD emit Sent for those
@@ -553,6 +550,26 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
<p>suppress_handler must be set to FALSE so the replacement channel
will be handled by something.</p>
</tp:rationale>
+
+ <p>As a result, Text channels SHOULD implement <tp:dbus-ref
+ namespace="org.freedesktop.Telepathy">Channel.Interface.Destroyable</tp:dbus-ref>.</p>
+
+ <tp:rationale>
+ <p>This "respawning" behaviour becomes problematic if there is no
+ suitable handler for Text channels, or if a particular message
+ repeatedly crashes the Text channel handler; a channel dispatcher
+ can't just Close() the channel in these situations, because
+ it will come back.</p>
+
+ <p>In these situations, the channel dispatcher needs a last-resort
+ way to destroy the channel and stop it respawning. It could either
+ acknowledge the messages itself, or use the Destroyable interface;
+ the Destroyable interface has the advantage that it's not
+ channel-type-dependent, so the channel dispatcher only has to
+ understand one extra interface, however many channel types
+ eventually need a distinction between Close and Destroy.</p>
+ </tp:rationale>
+
</tp:docstring>
</interface>
</node>
--
1.5.6.5
More information about the Telepathy-commits
mailing list