Index: net/spdy/spdy_proxy_client_socket.cc |
diff --git a/net/spdy/spdy_proxy_client_socket.cc b/net/spdy/spdy_proxy_client_socket.cc |
index 5bc617cb47ff8f08aebb8cfb53349322084b5ff8..56b052d2a9bd25b6fe9ff27b8c03b62cdaaad497 100644 |
--- a/net/spdy/spdy_proxy_client_socket.cc |
+++ b/net/spdy/spdy_proxy_client_socket.cc |
@@ -41,7 +41,6 @@ SpdyProxyClientSocket::SpdyProxyClientSocket( |
auth_handler_factory)), |
user_buffer_len_(0), |
write_buffer_len_(0), |
- write_bytes_outstanding_(0), |
weak_factory_(this), |
net_log_(BoundNetLog::Make(spdy_stream->net_log().net_log(), |
NetLog::SOURCE_PROXY_CLIENT_SOCKET)) { |
@@ -133,7 +132,6 @@ void SpdyProxyClientSocket::Disconnect() { |
read_callback_.Reset(); |
write_buffer_len_ = 0; |
- write_bytes_outstanding_ = 0; |
write_callback_.Reset(); |
next_state_ = STATE_DISCONNECTED; |
@@ -227,33 +225,12 @@ int SpdyProxyClientSocket::Write(IOBuffer* buf, int buf_len, |
return ERR_SOCKET_NOT_CONNECTED; |
DCHECK(spdy_stream_); |
- write_bytes_outstanding_= buf_len; |
- if (buf_len <= kMaxSpdyFrameChunkSize) { |
- spdy_stream_->QueueStreamData(buf, buf_len, DATA_FLAG_NONE); |
- net_log_.AddByteTransferEvent(NetLog::TYPE_SOCKET_BYTES_SENT, |
- buf_len, buf->data()); |
- write_callback_ = callback; |
- write_buffer_len_ = buf_len; |
- return ERR_IO_PENDING; |
- } |
- |
- // Since a SPDY Data frame can only include kMaxSpdyFrameChunkSize bytes |
- // we need to send multiple data frames |
Ryan Hamilton
2013/05/23 04:12:00
I gather we no longer need this logic because it's
akalin
2013/05/23 05:29:38
Yeap, that's right.
|
- for (int i = 0; i < buf_len; i += kMaxSpdyFrameChunkSize) { |
- int len = std::min(kMaxSpdyFrameChunkSize, buf_len - i); |
- scoped_refptr<DrainableIOBuffer> iobuf(new DrainableIOBuffer(buf, i + len)); |
- iobuf->SetOffset(i); |
- spdy_stream_->QueueStreamData(iobuf, len, DATA_FLAG_NONE); |
- net_log_.AddByteTransferEvent(NetLog::TYPE_SOCKET_BYTES_SENT, |
- len, buf->data()); |
- } |
- if (write_bytes_outstanding_ > 0) { |
- write_callback_ = callback; |
- write_buffer_len_ = buf_len; |
- return ERR_IO_PENDING; |
- } else { |
- return buf_len; |
- } |
+ spdy_stream_->SendStreamData(buf, buf_len, DATA_FLAG_NONE); |
+ net_log_.AddByteTransferEvent(NetLog::TYPE_SOCKET_BYTES_SENT, |
+ buf_len, buf->data()); |
+ write_callback_ = callback; |
+ write_buffer_len_ = buf_len; |
+ return ERR_IO_PENDING; |
} |
bool SpdyProxyClientSocket::SetReceiveBufferSize(int32 size) { |
@@ -474,8 +451,7 @@ void SpdyProxyClientSocket::OnSendBody() { |
CHECK(false); |
} |
-SpdySendStatus SpdyProxyClientSocket::OnSendBodyComplete( |
- size_t /*bytes_sent*/) { |
+SpdySendStatus SpdyProxyClientSocket::OnSendBodyComplete() { |
// Because we use |spdy_stream_| via STATE_OPEN (ala WebSockets) |
// OnSendBodyComplete() must never be called. |
CHECK(false); |
@@ -528,20 +504,14 @@ int SpdyProxyClientSocket::OnDataReceived(scoped_ptr<SpdyBuffer> buffer) { |
return OK; |
} |
-void SpdyProxyClientSocket::OnDataSent(size_t bytes_sent) { |
+void SpdyProxyClientSocket::OnDataSent() { |
DCHECK(!write_callback_.is_null()); |
- DCHECK_LE(static_cast<int>(bytes_sent), write_bytes_outstanding_); |
- write_bytes_outstanding_ -= static_cast<int>(bytes_sent); |
- |
- if (write_bytes_outstanding_ == 0) { |
- int rv = write_buffer_len_; |
- write_buffer_len_ = 0; |
- write_bytes_outstanding_ = 0; |
- CompletionCallback c = write_callback_; |
- write_callback_.Reset(); |
- c.Run(rv); |
- } |
+ int rv = write_buffer_len_; |
+ write_buffer_len_ = 0; |
+ CompletionCallback c = write_callback_; |
Ryan Hamilton
2013/05/23 04:12:00
nit: I think you can use ResetAndReturn() here.
akalin
2013/05/23 05:29:38
Done.
|
+ write_callback_.Reset(); |
+ c.Run(rv); |
} |
void SpdyProxyClientSocket::OnClose(int status) { |
@@ -559,7 +529,6 @@ void SpdyProxyClientSocket::OnClose(int status) { |
CompletionCallback write_callback = write_callback_; |
write_callback_.Reset(); |
write_buffer_len_ = 0; |
- write_bytes_outstanding_ = 0; |
// If we're in the middle of connecting, we need to make sure |
// we invoke the connect callback. |