Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(562)

Unified Diff: net/spdy/spdy_http_stream.cc

Issue 15740018: [SPDY] Change SpdyStream::QueueStreamData() To SendStreamData() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/spdy/spdy_http_stream.h ('k') | net/spdy/spdy_proxy_client_socket.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/spdy/spdy_http_stream.cc
diff --git a/net/spdy/spdy_http_stream.cc b/net/spdy/spdy_http_stream.cc
index 31294124919151287f4fb6e19ac8f6692012a84e..0545773f2154ef5edb582276f3f23a3580710e56 100644
--- a/net/spdy/spdy_http_stream.cc
+++ b/net/spdy/spdy_http_stream.cc
@@ -38,6 +38,7 @@ SpdyHttpStream::SpdyHttpStream(SpdySession* spdy_session,
response_info_(NULL),
response_headers_received_(false),
user_buffer_len_(0),
+ raw_request_body_buf_size_(0),
buffered_read_callback_pending_(false),
more_read_data_pending_(false),
direct_(direct) {}
@@ -236,7 +237,7 @@ int SpdyHttpStream::SendRequest(const HttpRequestHeaders& request_headers,
// body data is written with this size at a time.
raw_request_body_buf_ = new IOBufferWithSize(kMaxSpdyFrameChunkSize);
// The request body buffer is empty at first.
- request_body_buf_ = new DrainableIOBuffer(raw_request_body_buf_, 0);
+ raw_request_body_buf_size_ = 0;
}
CHECK(!callback.is_null());
@@ -288,7 +289,7 @@ SpdySendStatus SpdyHttpStream::OnSendHeadersComplete() {
void SpdyHttpStream::OnSendBody() {
CHECK(request_info_ && request_info_->upload_data_stream);
- if (request_body_buf_->BytesRemaining() > 0) {
+ if (raw_request_body_buf_size_ > 0) {
SendRequestBodyData();
} else {
// We shouldn't be called if there's no more data to read.
@@ -297,20 +298,14 @@ void SpdyHttpStream::OnSendBody() {
}
}
-SpdySendStatus SpdyHttpStream::OnSendBodyComplete(size_t bytes_sent) {
+SpdySendStatus SpdyHttpStream::OnSendBodyComplete() {
// |status| is the number of bytes written to the SPDY stream.
CHECK(request_info_ && request_info_->upload_data_stream);
- DCHECK_GE(static_cast<int>(bytes_sent), 0);
- DCHECK_LE(static_cast<int>(bytes_sent), request_body_buf_->BytesRemaining());
-
- request_body_buf_->DidConsume(static_cast<int>(bytes_sent));
+ raw_request_body_buf_size_ = 0;
// Check for more data to send.
- if (!request_info_->upload_data_stream->IsEOF() ||
- (request_body_buf_->BytesRemaining() > 0))
- return MORE_DATA_TO_SEND;
-
- return NO_MORE_DATA_TO_SEND;
+ return request_info_->upload_data_stream->IsEOF() ?
+ NO_MORE_DATA_TO_SEND : MORE_DATA_TO_SEND;
}
int SpdyHttpStream::OnResponseReceived(const SpdyHeaderBlock& response,
@@ -402,10 +397,10 @@ int SpdyHttpStream::OnDataReceived(scoped_ptr<SpdyBuffer> buffer) {
return OK;
}
-void SpdyHttpStream::OnDataSent(size_t /*bytes_sent*/) {
+void SpdyHttpStream::OnDataSent() {
// For HTTP streams, no data is sent from the client while in the OPEN state,
// so it is never called.
- NOTREACHED();
+ CHECK(false);
}
void SpdyHttpStream::OnClose(int status) {
@@ -437,7 +432,7 @@ void SpdyHttpStream::OnStreamCreated(
void SpdyHttpStream::ReadAndSendRequestBodyData() {
CHECK(request_info_ && request_info_->upload_data_stream);
- CHECK_EQ(0, request_body_buf_->BytesRemaining());
+ CHECK_EQ(raw_request_body_buf_size_, 0);
// Read the data from the request body stream.
const int rv = request_info_->upload_data_stream->Read(
@@ -455,20 +450,20 @@ void SpdyHttpStream::ReadAndSendRequestBodyData() {
void SpdyHttpStream::OnRequestBodyReadCompleted(int status) {
CHECK_GE(status, 0);
- request_body_buf_ = new DrainableIOBuffer(raw_request_body_buf_, status);
+ raw_request_body_buf_size_ = status;
SendRequestBodyData();
}
void SpdyHttpStream::SendRequestBodyData() {
const bool eof = request_info_->upload_data_stream->IsEOF();
if (eof) {
- CHECK_GE(request_body_buf_->BytesRemaining(), 0);
+ CHECK_GE(raw_request_body_buf_size_, 0);
} else {
- CHECK_GT(request_body_buf_->BytesRemaining(), 0);
+ CHECK_GT(raw_request_body_buf_size_, 0);
}
- stream_->QueueStreamData(request_body_buf_,
- request_body_buf_->BytesRemaining(),
- eof ? DATA_FLAG_FIN : DATA_FLAG_NONE);
+ stream_->SendStreamData(raw_request_body_buf_,
+ raw_request_body_buf_size_,
+ eof ? DATA_FLAG_FIN : DATA_FLAG_NONE);
}
void SpdyHttpStream::ScheduleBufferedReadCallback() {
« no previous file with comments | « net/spdy/spdy_http_stream.h ('k') | net/spdy/spdy_proxy_client_socket.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698