A small proposal to cleanup DataChannel construction.

I've noticed that createDataChannel and the RTCDataChannel contructor
overlap in functionality.  And since almost all of the current API is based
around using constructors instead of factory methods, I think we can
cleanup the overlap and make it consistent with the rest of the API by
doing the following:

[Constructor(RTCDataTransport transport,

 RTCDataChannelParameters parameters)]

interface RTCDataChannel : EventTarget {

    readonly attribute RTCDataTransport transport;

    readonly attribute RTCDataChannelParameters parameters;

    void send (Object data);

    attribute EventHandler ondata;

};

interface RTCDataTransport {

}

interface RTCSctpTransport : RTCDataTransport {

  // ...
}


The difference is basically that:
1. We no longer have a createDataChannel method, and just call the
constructor instead.
2. RTCDataChannel no longer relies directly on SctpTransport. In the
future, we could have a different kind of DataTransport and have
DataChannels that work with it (we aren't as tightly coupled to SCTP).

Received on Tuesday, 15 April 2014 17:06:02 UTC