diff options
author | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-17 10:38:43 +0000 |
---|---|---|
committer | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-17 10:38:43 +0000 |
commit | ca690b0ccb3684bec0a7a5ed2406346762b57ba7 (patch) | |
tree | 13e99d0ff0396e10d9fa9301b3b1c4820f448e28 /net/websockets/websocket_job.cc | |
parent | 988117fa7cce0514c94bfb58743b5a294ab0f1a3 (diff) | |
download | chromium_src-ca690b0ccb3684bec0a7a5ed2406346762b57ba7.zip chromium_src-ca690b0ccb3684bec0a7a5ed2406346762b57ba7.tar.gz chromium_src-ca690b0ccb3684bec0a7a5ed2406346762b57ba7.tar.bz2 |
[SPDY] Replace SpdyIOBuffer with new SpdyBuffer class
Use SpdyBuffer for both SPDY reads and writes. A future
CL will add hooks to SpdyBuffer so that we keep track of
flow control windows properly.
Replace SpdyFrameProducer with SpdyBufferProducer.
Also introduce new SpdyReadQueue class for delegates
of SpdyStream to use.
BUG=176592
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=194560
Review URL: https://codereview.chromium.org/13990005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194564 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/websockets/websocket_job.cc')
-rw-r--r-- | net/websockets/websocket_job.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/net/websockets/websocket_job.cc b/net/websockets/websocket_job.cc index 3aeb8aa..53e0eda 100644 --- a/net/websockets/websocket_job.cc +++ b/net/websockets/websocket_job.cc @@ -9,10 +9,10 @@ #include "base/bind.h" #include "base/lazy_instance.h" #include "googleurl/src/gurl.h" +#include "net/base/io_buffer.h" #include "net/base/net_errors.h" #include "net/base/net_log.h" #include "net/cookies/cookie_store.h" -#include "net/base/io_buffer.h" #include "net/http/http_network_session.h" #include "net/http/http_transaction_factory.h" #include "net/http/http_util.h" @@ -330,14 +330,19 @@ void WebSocketJob::OnSentSpdyData(size_t bytes_sent) { OnSentData(socket_, static_cast<int>(bytes_sent)); } -void WebSocketJob::OnReceivedSpdyData(const char* data, int length) { +void WebSocketJob::OnReceivedSpdyData(scoped_ptr<SpdyBuffer> buffer) { DCHECK_NE(INITIALIZED, state_); DCHECK_NE(CONNECTING, state_); if (state_ == CLOSED) return; if (!spdy_websocket_stream_.get()) return; - OnReceivedData(socket_, data, length); + if (buffer) { + OnReceivedData(socket_, buffer->GetRemainingData(), + buffer->GetRemainingSize()); + } else { + OnReceivedData(socket_, NULL, 0); + } } void WebSocketJob::OnCloseSpdyStream() { |