Re: [sysapps/raw socket api]: New version based on Madrid meeting comments and comments from Ke-Fong Lin

Hi Claes,

It's still not clear to me how to use the localAddress/localPort arguments
for TCPSocket and UDPSocket.

What are the use cases for these options?

How will the app know what values to specify for those arguments? Are you
expecting that we'll have some additional spec that will provide
information about which local addresses are available and where they are
connected?


On both the TCPSocket and UDPSocket interfaces, rather than creating 4
separate send functions, create a single send function where the first
argument is "(DOMString or Blob or ArrayBuffer or ArrayBufferView) data".
This is just an editorial difference, but I think it makes the spec easier
to read.


In the ReadyState enum, should we differentiate the two ways that you can
have a "halfclosed" connection? I.e. should you be able to tell if the
other side has halfclosed vs. if your side has called halfclose? I suspect
so.


What does the "addressReuse" option do when constructing a TCPSocket? What
is the use case?


There doesn't appear to be a way to upgrade an existing TCPSocket
connection to TLS. Is that something you're still planning on adding?


Feedback [1] from our team was that for TCPSocketServer "accept" is a
better name than "connection" since "connection" was unclear if it meant
"connecting" or "connected". One option is also simply "connect" since
that's what's used by Web Workers [2].


In general the spec looks great! Definitely something I'm excited to
implement in Firefox OS.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=797561#c57
[2]
http://www.w3.org/TR/workers/#shared-workers-and-the-sharedworkerglobalscope-interface

/ Jonas


On Tue, Apr 23, 2013 at 6:35 AM, Nilsson, Claes1 <
Claes1.Nilsson@sonymobile.com> wrote:

> See http://raw-sockets.sysapps.org/****
>
> ** **
>
> Is this version now ready for a CFC for FPWD?****
>
> ** **
>
> Updates according to SysApps Madrid meeting 2013-04-09 and comments by
> Ke-Fong Lin (thanks a lot!):****
>
> ** **
>
> * For reading simplicity the API is restructured so that there are three
> main interfaces according to below:****
>
> - interface UDPSocket : EventTarget****
>
> - interface TCPSocket : EventTarget****
>
> - interface TCPServerSocket : EventTarget****
>
> * Syntax and semantics as much as possible aligned with W3C Web Sockets.**
> **
>
> * UDPSocket: Updated constructor to optionally use UDPOptions dictionary
> and extended the dictionary with fields for default remote address and port.
> ****
>
> * UDPSocket: Added joinMulticastGroup() and leaveMulticastGroup() methods*
> ***
>
> * UDPSocket: Added an explicit method for closing a UDP socket****
>
> * TCPSocket: Added method halfClose() and event for when peer has done hlf
> close.****
>
> * UDP and TCPSockets: Aligned sending data with Web Sockets using 4
> overloading methods for different data types of outgoing data.****
>
> * UDP and TCPSockets: Implementation dependent limit for when send()
> returns false indicating that send buffer is near getting full. If buffer
> full an error event is issued consistent with Web Sockets.****
>
> * UDP and TCPSockets: Data type for received data is always ArrayBuffer.
> Atribute binaryType removed.****
>
> * TCPServerSocket: Added methods suspend() and resume().****
>
> ** **
>
> Still to be done:****
>
> ** **
>
> * More work needed on support for secure sockets.****
>
> * More UDP examples and potentially remove SSDP examples.****
>
> ** **
>
> ** **
>
> *Claes Nilsson M.Sc.E.E** *****
>
> Master Engineer - Web Research ****
>
> Advanced Application Labs****
>
>  ****
>
> Sony Mobile Communications****
>
> Tel: +46 705 56 68 78****
>
> sonymobile.com****
>
>  ****
>
> [image: SONY make.believe]****
>
> ** **
>

Received on Tuesday, 23 April 2013 18:11:16 UTC