Implement incomplete opening, sending, and closing behaviour for WebSockets using rust-websocket.

Authors:
Shivaji Vidhale <savidhal@ncsu.edu>
William Galliher <wpgallih@ncsu.edu>
Allen Chen <achen4@ncsu.edu>
Rucha Jogaikar <rsjogaik@ncsu.edu>
This commit is contained in:
William Galliher 2015-03-23 06:47:15 -04:00 committed by Josh Matthews
parent 49aed6555d
commit 5afec62f07
200 changed files with 1626 additions and 60 deletions

View file

@ -0,0 +1,17 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
//https://html.spec.whatwg.org/multipage/#the-closeevent-interfaces
[Constructor(DOMString type, optional CloseEventInit eventInitDict)/*, Exposed=(Window,Worker)*/]
interface CloseEvent : Event {
readonly attribute boolean wasClean;
readonly attribute unsigned short code;
readonly attribute DOMString reason;
};
dictionary CloseEventInit : EventInit {
boolean wasClean;
unsigned short code;
DOMString reason;
};

View file

@ -2,26 +2,34 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
enum BinaryType { "blob", "arraybuffer" };
[Constructor(DOMString url)]
interface WebSocket : EventTarget {
readonly attribute DOMString url;
//attribute DOMString port;
//attribute DOMString host;
readonly attribute DOMString url;
//ready state
const unsigned short CONNECTING = 0;
const unsigned short OPEN = 1;
const unsigned short CLOSING = 2;
const unsigned short CLOSED = 3;
//readonly attribute unsigned short readyState;
readonly attribute unsigned short readyState;
//readonly attribute unsigned long bufferedAmount;
//networking
//attribute EventHandler onopen;
//attribute EventHandler onerror;
//attribute EventHandler onclose;
attribute EventHandler onopen;
attribute EventHandler onerror;
attribute EventHandler onclose;
//readonly attribute DOMString extensions;
//readonly attribute DOMString protocol;
//void send(USVString data);
//[Throws] void close([Clamp] optional unsigned short code, optional DOMString reason); //Clamp doesn't work
[Throws] void close(optional unsigned short code, optional DOMString reason); //No clamp version - works
//messaging
//attribute EventHandler onmessage;
//attribute BinaryType binaryType;
[Throws] void send(optional DOMString data);
//void send(Blob data);
//void send(ArrayBuffer data);
//void send(ArrayBufferView data);
};