Index: net/quic/reliable_quic_stream.cc |
diff --git a/net/quic/reliable_quic_stream.cc b/net/quic/reliable_quic_stream.cc |
index bc472f0bca8f7dde0ae6eb2c55652340e897cc42..386ac7b805e278fd4673676c3f6e640bf8ac2fda 100644 |
--- a/net/quic/reliable_quic_stream.cc |
+++ b/net/quic/reliable_quic_stream.cc |
@@ -41,6 +41,12 @@ uint32 StripUint32(const char* data, uint32 data_len, |
return missing_size; |
} |
+struct iovec MakeIovec(StringPiece data) { |
+ struct iovec iov = {const_cast<char*>(data.data()), |
+ static_cast<size_t>(data.size())}; |
+ return iov; |
+} |
+ |
} // namespace |
ReliableQuicStream::ReliableQuicStream(QuicStreamId id, |
@@ -192,25 +198,21 @@ bool ReliableQuicStream::GetSSLInfo(SSLInfo* ssl_info) { |
return session_->GetSSLInfo(ssl_info); |
} |
-QuicConsumedData ReliableQuicStream::WriteData(StringPiece data, bool fin) { |
- DCHECK(data.size() > 0 || fin); |
- return WriteOrBuffer(data, fin); |
-} |
- |
- |
void ReliableQuicStream::set_priority(QuicPriority priority) { |
DCHECK_EQ(0u, stream_bytes_written_); |
priority_ = priority; |
} |
-QuicConsumedData ReliableQuicStream::WriteOrBuffer(StringPiece data, bool fin) { |
+void ReliableQuicStream::WriteOrBufferData(StringPiece data, bool fin) { |
+ DCHECK(data.size() > 0 || fin); |
DCHECK(!fin_buffered_); |
QuicConsumedData consumed_data(0, false); |
fin_buffered_ = fin; |
if (queued_data_.empty()) { |
- consumed_data = WriteDataInternal(string(data.data(), data.length()), fin); |
+ struct iovec iov(MakeIovec(data)); |
+ consumed_data = WritevData(&iov, 1, fin, NULL); |
DCHECK_LE(consumed_data.bytes_consumed, data.length()); |
} |
@@ -221,8 +223,6 @@ QuicConsumedData ReliableQuicStream::WriteOrBuffer(StringPiece data, bool fin) { |
string(data.data() + consumed_data.bytes_consumed, |
data.length() - consumed_data.bytes_consumed)); |
} |
- |
- return QuicConsumedData(data.size(), true); |
} |
void ReliableQuicStream::OnCanWrite() { |
@@ -232,7 +232,8 @@ void ReliableQuicStream::OnCanWrite() { |
if (queued_data_.size() == 1 && fin_buffered_) { |
fin = true; |
} |
- QuicConsumedData consumed_data = WriteDataInternal(data, fin); |
+ struct iovec iov(MakeIovec(data)); |
+ QuicConsumedData consumed_data = WritevData(&iov, 1, fin, NULL); |
if (consumed_data.bytes_consumed == data.size() && |
fin == consumed_data.fin_consumed) { |
queued_data_.pop_front(); |
@@ -243,14 +244,7 @@ void ReliableQuicStream::OnCanWrite() { |
} |
} |
-QuicConsumedData ReliableQuicStream::WriteDataInternal( |
- StringPiece data, bool fin) { |
- struct iovec iov = {const_cast<char*>(data.data()), |
- static_cast<size_t>(data.size())}; |
- return WritevDataInternal(&iov, 1, fin, NULL); |
-} |
- |
-QuicConsumedData ReliableQuicStream::WritevDataInternal( |
+QuicConsumedData ReliableQuicStream::WritevData( |
const struct iovec* iov, |
int iov_count, |
bool fin, |