void SocketStreamHandle::writeReady() { // We no longer have buffered data, so stop waiting for the socket to be writable. if (!bufferedAmount()) { stopWaitingForSocketWritability(); return; } sendPendingData(); }
void SocketStreamHandle::platformClose() { // We remove this handle from the active handles list first, to disable all callbacks. deactivateHandle(this); stopWaitingForSocketWritability(); if (m_socketConnection) { GOwnPtr<GError> error; g_io_stream_close(G_IO_STREAM(m_socketConnection.get()), 0, &error.outPtr()); if (error) m_client->didFail(this, SocketStreamError(error->code)); // FIXME: Provide a sensible error. m_socketConnection = 0; } m_outputStream = 0; m_inputStream = 0; delete m_readBuffer; m_client->didClose(this); }
void SocketStreamHandle::platformClose() { LOG(Network, "SocketStreamHandle %p platformClose", this); // We remove this handle from the active handles list first, to disable all callbacks. deactivateHandle(this); stopWaitingForSocketWritability(); if (m_socketConnection) { GUniqueOutPtr<GError> error; g_io_stream_close(G_IO_STREAM(m_socketConnection.get()), 0, &error.outPtr()); if (error) m_client->didFailSocketStream(this, SocketStreamError(error->code, error->message)); m_socketConnection = 0; } m_outputStream = 0; m_inputStream = 0; m_readBuffer = nullptr; m_client->didCloseSocketStream(this); }
void SocketStreamHandle::platformClose() { LOG(Network, "SocketStreamHandle %p platformClose", this); // We cancel this handle first to disable all callbacks. g_cancellable_cancel(m_cancellable.get()); stopWaitingForSocketWritability(); if (m_socketConnection) { GUniqueOutPtr<GError> error; g_io_stream_close(G_IO_STREAM(m_socketConnection.get()), nullptr, &error.outPtr()); if (error) didFail(SocketStreamError(error->code, error->message)); m_socketConnection = nullptr; } m_outputStream = nullptr; m_inputStream = nullptr; m_readBuffer = nullptr; m_client.didCloseSocketStream(*this); }