Re: [rtcweb] Sending of zero-length messages over data channels

"Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com> Thu, 24 July 2014 18:11 UTC

Return-Path: <Raju.Makaraju@alcatel-lucent.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BE0B61A01F9 for <rtcweb@ietfa.amsl.com>; Thu, 24 Jul 2014 11:11:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.899
X-Spam-Level:
X-Spam-Status: No, score=-6.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eKxPGjqjrDCA for <rtcweb@ietfa.amsl.com>; Thu, 24 Jul 2014 11:11:06 -0700 (PDT)
Received: from ihemail3.lucent.com (ihemail3.lucent.com [135.245.0.37]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6C51C1A028B for <rtcweb@ietf.org>; Thu, 24 Jul 2014 11:10:55 -0700 (PDT)
Received: from us70uusmtp3.zam.alcatel-lucent.com (h135-5-2-65.lucent.com [135.5.2.65]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id s6OIArH3020861 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 24 Jul 2014 13:10:53 -0500 (CDT)
Received: from US70TWXCHHUB04.zam.alcatel-lucent.com (us70twxchhub04.zam.alcatel-lucent.com [135.5.2.36]) by us70uusmtp3.zam.alcatel-lucent.com (GMO) with ESMTP id s6OIAqrl007961 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 24 Jul 2014 14:10:53 -0400
Received: from US70UWXCHMBA02.zam.alcatel-lucent.com ([169.254.8.175]) by US70TWXCHHUB04.zam.alcatel-lucent.com ([135.5.2.36]) with mapi id 14.02.0247.003; Thu, 24 Jul 2014 14:10:52 -0400
From: "Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com>
To: Justin Uberti <juberti@google.com>
Thread-Topic: [rtcweb] Sending of zero-length messages over data channels
Thread-Index: AQHPpipfEWtPO6jXOES6Y6R7CwNaxJutiTxggAI5gwD//74D0A==
Date: Thu, 24 Jul 2014 18:10:51 +0000
Deferred-Delivery: Thu, 24 Jul 2014 18:10:00 +0000
Message-ID: <E1FE4C082A89A246A11D7F32A95A17828E4C5974@US70UWXCHMBA02.zam.alcatel-lucent.com>
References: <CAOJ7v-0F9pysYLehjTVDv1Sxz3TKaxi2y6J7RrpGqMdA=tiR_g@mail.gmail.com> <E1FE4C082A89A246A11D7F32A95A17828E4BCC13@US70UWXCHMBA02.zam.alcatel-lucent.com> <CAOJ7v-1r-vToAf-rUfZmKsBC4MX4ZXUcAkqahrskF1D3axOpuA@mail.gmail.com>
In-Reply-To: <CAOJ7v-1r-vToAf-rUfZmKsBC4MX4ZXUcAkqahrskF1D3axOpuA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.5.27.18]
Content-Type: multipart/alternative; boundary="_000_E1FE4C082A89A246A11D7F32A95A17828E4C5974US70UWXCHMBA02z_"
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/6fv8eoz3ZoRUhp8R7Lt9MQXMboU
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Sending of zero-length messages over data channels
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 24 Jul 2014 18:11:15 -0000


Changing the send() API defeats the purpose of trying to provide full WebSockets compatibility.
<Raju> I understand the desire to make the API compatible to websocket API. But, unlike websocket TCP transport, the data channels the underlying transport (SCTP) has the flexibility for PPID, which can be utilized to achieve the same goal, with the added advantage of using the same approach for other use cases (like OOB data delivery).

IHMO, PPID_EMPTY approach is not straight forward either as at SCTP level you still have to send some dummy data (unless SCTP is enhanced) of some size (=1 or implementation dependent?), which is not obvious to the user. Will the ‘bufferedAmount’ be increased appropriately with the dummy data sent? Even if it is accounted for, the application has to know this and be mindful of the “mysterious” increase (1 byte or n bytes?) in ‘bufferedAmount’, something very unique to SCTP.

PPID_OOB approach is transparent to the user as user sends the data, so it is automatically accounted in ‘bufferedAmount’.

</Raju>

I think the PPID_EMPTY approach (probably PPID_EMPTY_TEXT and PPID_EMPTY_BINARY, to be precise) is a simple and complete solution.