Cleanup WebSocket::Send_Impl.

This commit is contained in:
Ms2ger 2015-11-05 12:23:18 +01:00
parent 8b030c5177
commit 0a158967e0

View file

@ -296,18 +296,13 @@ impl WebSocket {
// https://html.spec.whatwg.org/multipage/#dom-websocket-send // https://html.spec.whatwg.org/multipage/#dom-websocket-send
fn Send_Impl(&self, data_byte_len: u64) -> Fallible<bool> { fn Send_Impl(&self, data_byte_len: u64) -> Fallible<bool> {
let return_after_buffer = match self.ready_state.get() {
let mut return_after_buffer = false;
match self.ready_state.get() {
WebSocketRequestState::Connecting => { WebSocketRequestState::Connecting => {
return Err(Error::InvalidState); return Err(Error::InvalidState);
}, },
WebSocketRequestState::Open => (), WebSocketRequestState::Open => false,
WebSocketRequestState::Closing | WebSocketRequestState::Closed => { WebSocketRequestState::Closing | WebSocketRequestState::Closed => true,
return_after_buffer = true; };
}
}
let global = self.global.root(); let global = self.global.root();
let chan = global.r().script_chan(); let chan = global.r().script_chan();
@ -315,23 +310,21 @@ impl WebSocket {
let new_buffer_amount = (self.buffered_amount.get() as u64) + data_byte_len; let new_buffer_amount = (self.buffered_amount.get() as u64) + data_byte_len;
if new_buffer_amount > (u32::max_value() as u64) { if new_buffer_amount > (u32::max_value() as u64) {
self.buffered_amount.set(u32::max_value()); self.buffered_amount.set(u32::max_value());
self.full.set(true); self.full.set(true);
let _ = self.Close(None, None); let _ = self.Close(None, None);
return Ok(false); return Ok(false);
} else {
self.buffered_amount.set(new_buffer_amount as u32);
} }
self.buffered_amount.set(new_buffer_amount as u32);
if return_after_buffer { if return_after_buffer {
return Ok(false); return Ok(false);
} }
if !self.clearing_buffer.get() && if !self.clearing_buffer.get() && self.ready_state.get() == WebSocketRequestState::Open {
self.ready_state.get() == WebSocketRequestState::Open {
self.clearing_buffer.set(true); self.clearing_buffer.set(true);
let task = box BufferedAmountTask { let task = box BufferedAmountTask {