void MainThreadWebSocketChannel::resumeTimerFired(Timer<MainThreadWebSocketChannel>* timer) { ASSERT_UNUSED(timer, timer == &m_resumeTimer); processBuffer(); if (!m_suspended && m_client && (m_state == ChannelClosed) && m_handle) didCloseSocketStream(m_handle.get()); }
void WebSocketChannel::resumeTimerFired() { Ref<WebSocketChannel> protectedThis(*this); // The client can close the channel, potentially removing the last reference. while (!m_suspended && m_client && !m_buffer.isEmpty()) if (!processBuffer()) break; if (!m_suspended && m_client && m_closed && m_handle) didCloseSocketStream(*m_handle); }