ThreadableWebSocketChannel::SendResult WebSocketChannel::send(Blob& binaryData) { LOG(Network, "WebSocketChannel %p send() Sending Blob '%s'", this, binaryData.url().string().utf8().data()); enqueueBlobFrame(WebSocketFrame::OpCodeBinary, binaryData); processOutgoingFrameQueue(); return ThreadableWebSocketChannel::SendSuccess; }
bool WebSocketChannel::send(const char* data, int length) { LOG(Network, "WebSocketChannel %p send() Sending char* data=%p length=%d", this, data, length); enqueueRawFrame(WebSocketFrame::OpCodeBinary, data, length); processOutgoingFrameQueue(); return true; }
ThreadableWebSocketChannel::SendResult WebSocketChannel::send(const ArrayBuffer& binaryData, unsigned byteOffset, unsigned byteLength) { LOG(Network, "WebSocketChannel %p send() Sending ArrayBuffer %p byteOffset=%u byteLength=%u", this, &binaryData, byteOffset, byteLength); enqueueRawFrame(WebSocketFrame::OpCodeBinary, static_cast<const char*>(binaryData.data()) + byteOffset, byteLength); processOutgoingFrameQueue(); return ThreadableWebSocketChannel::SendSuccess; }
void MainThreadWebSocketChannel::send(const String& message) { WTF_LOG(Network, "MainThreadWebSocketChannel %p send() Sending String '%s'", this, message.utf8().data()); CString utf8 = message.utf8(StrictUTF8ConversionReplacingUnpairedSurrogatesWithFFFD); enqueueTextFrame(utf8); processOutgoingFrameQueue(); }
void WebSocketChannel::didFinishLoading() { LOG(Network, "WebSocketChannel %p didFinishLoading()", this); ASSERT(m_blobLoader); ASSERT(m_blobLoaderStatus == BlobLoaderStarted); m_blobLoaderStatus = BlobLoaderFinished; processOutgoingFrameQueue(); deref(); }
ThreadableWebSocketChannel::SendResult WebSocketChannel::send(const String& message) { LOG(Network, "WebSocketChannel %p send() Sending String '%s'", this, message.utf8().data()); CString utf8 = message.utf8(StrictConversionReplacingUnpairedSurrogatesWithFFFD); enqueueTextFrame(utf8); processOutgoingFrameQueue(); // According to WebSocket API specification, WebSocket.send() should return void instead // of boolean. However, our implementation still returns boolean due to compatibility // concern (see bug 65850). // m_channel->send() may happen later, thus it's not always possible to know whether // the message has been sent to the socket successfully. In this case, we have no choice // but to return true. return ThreadableWebSocketChannel::SendSuccess; }
void MainThreadWebSocketChannel::send(PassOwnPtr<Vector<char> > data) { WTF_LOG(Network, "MainThreadWebSocketChannel %p send() Sending Vector %p", this, data.get()); enqueueVector(WebSocketFrame::OpCodeBinary, data); processOutgoingFrameQueue(); }
void MainThreadWebSocketChannel::send(PassRefPtr<BlobDataHandle> binaryData) { WTF_LOG(Network, "MainThreadWebSocketChannel %p send() Sending Blob '%s'", this, binaryData->uuid().utf8().data()); enqueueBlobFrame(WebSocketFrame::OpCodeBinary, binaryData); processOutgoingFrameQueue(); }