INBOX Jingle HTTP Transport: Update signaling of upload completions.

This commit is contained in:
Lance Stout 2016-01-07 09:21:21 -08:00 committed by Matthew A. Miller
parent f8c5f08eb5
commit 98f7f1523c
1 changed files with 26 additions and 40 deletions

View File

@ -22,6 +22,12 @@
<supersededby/>
<shortname>NOT_YET_ASSIGNED</shortname>
&lance;
<revision>
<version>0.0.2</version>
<date>2016-01-07</date>
<initials>ljts</initials>
<remark><p>Renamed &lt;uploaded/&gt; to &lt;completed/&gt;, and made it a child of the &lt;transport/&gt; element in transport-info events.</p></remark>
</revision>
<revision>
<version>0.0.1</version>
<date>2015-07-30</date>
@ -200,15 +206,19 @@
<section1 topic='Informational Messages' anchor='info'>
<section2 topic='Upload Complete'>
<p>A common case for using http-upload is to delegate the storage of the uploaded data to an external hosting service, which means that the receiver might not have the direct ability to know when the uploaded data is ready.</p>
<p>As such, when an upload transfer is used, the party uploading content SHOULD signal when the upload has completed by sending a Jingle session-info event that includes a &lt;uploaded/&gt; element qualified by the 'urn:xmpp:transports:http:info:0' namespace and SHOULD include 'creator' and 'name' attributes identifying the content for which the upload was completed.</p>
<p>As such, when an upload transfer is used, the party uploading content SHOULD signal when the upload has completed by sending a Jingle transport-info event that specifies the content for which uploading has completed, and includes a &lt;transport/&gt; element qualified by the 'urn:xmpp:jingle:transports:http:upload:0' namespace, which in turn contains a &lt;completed /&gt; element.</p>
<example caption='Signaling that the upload has completed'><![CDATA[
<iq from='romeo@montague.lit/orchard'
id='uw72g176'
to='juliet@capulet.lit/balcony'
type='set'>
<jingle xmlns='urn:xmpp:jingle:1'
action='session-info'>
<uploaded xmlns='urn:xmpp:jingle:transports:http:info:0' creator='initiator' name='file-upload' />
action='transport-info'>
<content creator='initiator' name='file-upload'>
<transport xmlns='urn:xmpp:jingle:transports:http:upload:0'>
<completed />
</transport>
</content>
</jingle>
</iq>]]></example>
</section2>
@ -365,9 +375,13 @@
to='juliet@capulet.lit/balcony'
type='set'>
<jingle xmlns='urn:xmpp:jingle:1'
action='session-info'
action='transport-info'
sid='851ba2'>
<uploaded xmlns='urn:xmpp:jingle:transports:http:info:0' creator='initiator' name='file-upload' />
<content creator='initiator' name='file-upload'>
<transport xmlns='urn:xmpp:jingle:transports:http:upload:0'>
<completed />
</transport>
</content>
</jingle>
</iq>]]></example>
</section2>
@ -427,9 +441,13 @@
to='romeo@montague.lit/orchard'
type='set'>
<jingle xmlns='urn:xmpp:jingle:1'
action='session-info'
action='transport-info'
sid='851ba2'>
<uploaded xmlns='urn:xmpp:jingle:transports:http:info:0' creator='initiator' name='file-upload' />
<content creator='initiator' name='file-upload'>
<transport xmlns='urn:xmpp:jingle:transports:http:upload:0'>
<completed />
</transport>
</content>
</jingle>
</iq>]]></example>
</section2>
@ -556,6 +574,7 @@
<xs:element name='transport'>
<xs:complexType>
<xs:all minOccurs='0'>
<xs:element name='completed' maxOccurs='1' />
<xs:element name='candidate' type='httpSlotType' maxOccurs='unbounded' />
</xs:all>
</xs:complexType>
@ -578,39 +597,6 @@
</xs:complexType>
</xs:element>
</xs:schema>]]></code>
</section2>
<section2 topic='urn:xmpp:jingle:transports:http:info:0' anchor='schema-http0info'>
<code><![CDATA[
<?xml version='1.0' encoding='UTF-8'?>
<xs:schema
xmlns:xs='http://www.w3.org/2001/XMLSchema'
targetNamespace='urn:xmpp:jingle:tranports:http:info:0'
xmlns='urn:xmpp:jingle:transports:http:info:0'
elementFormDefault='qualified'>
<xs:element name='uploaded' type='contentSpecificType'/>
<xs:complexType name='contentSpecificType'>
<xs:simpleContent>
<xs:extension base='empty'>
<xs:attribute name='creator' use='required'>
<xs:simpleType>
<xs:restriction base='xs:NCName'>
<xs:enumeration value='initiator'/>
<xs:enumeration value='responder'/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name='name'
type='xs:string'
use='required'/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>]]></code>
</section2>
</section1>