summaryrefslogtreecommitdiffstats
path: root/net/quic/reliable_quic_stream.cc
diff options
context:
space:
mode:
authorrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-03 17:28:53 +0000
committerrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-03 17:28:53 +0000
commit0f97c466741d34cd77df68b3795ed72000c1f0ad (patch)
treeb97423922d74a9cf48a7260cf013afeb8386e34d /net/quic/reliable_quic_stream.cc
parent1bb0fd5dbf2357a6c7fa837c6e3e1e427d9a7e99 (diff)
downloadchromium_src-0f97c466741d34cd77df68b3795ed72000c1f0ad.zip
chromium_src-0f97c466741d34cd77df68b3795ed72000c1f0ad.tar.gz
chromium_src-0f97c466741d34cd77df68b3795ed72000c1f0ad.tar.bz2
Revert 165858 - Add QuicStream and friends to QUIC code.
Review URL: https://chromiumcodereview.appspot.com/11300020 TBR=rch@chromium.org Review URL: https://codereview.chromium.org/11365080 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165859 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/reliable_quic_stream.cc')
-rw-r--r--net/quic/reliable_quic_stream.cc126
1 files changed, 0 insertions, 126 deletions
diff --git a/net/quic/reliable_quic_stream.cc b/net/quic/reliable_quic_stream.cc
deleted file mode 100644
index 3cdde26..0000000
--- a/net/quic/reliable_quic_stream.cc
+++ /dev/null
@@ -1,126 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "net/quic/reliable_quic_stream.h"
-
-#include "net/quic/quic_session.h"
-
-using base::StringPiece;
-
-namespace net {
-
-ReliableQuicStream::ReliableQuicStream(QuicStreamId id,
- QuicSession* session)
- : sequencer_(this),
- id_(id),
- offset_(0),
- session_(session),
- error_(QUIC_NO_ERROR),
- read_side_closed_(false),
- write_side_closed_(false) {
-}
-
-ReliableQuicStream::~ReliableQuicStream() {
-}
-
-bool ReliableQuicStream::WillAcceptStreamFrame(
- const QuicStreamFrame& frame) const {
- if (read_side_closed_) {
- return false;
- }
- if (frame.stream_id != id_) {
- LOG(ERROR) << "Error!";
- return false;
- }
- return sequencer_.WillAcceptStreamFrame(frame);
-}
-
-bool ReliableQuicStream::OnStreamFrame(const QuicStreamFrame& frame) {
- DCHECK_EQ(frame.stream_id, id_);
- if (read_side_closed_) {
- // This can only happen if a client sends data after sending a fin or stream
- // reset.
- Close(QUIC_STREAM_DATA_AFTER_TERMINATION);
- return false;
- }
-
- bool accepted = sequencer_.OnStreamFrame(frame);
-
- if (frame.fin) {
- sequencer_.CloseStreamAtOffset(frame.offset + frame.data.size(),
- true);
- }
-
- return accepted;
-}
-
-void ReliableQuicStream::OnStreamReset(QuicErrorCode error,
- QuicStreamOffset offset) {
- error_ = error;
- sequencer_.CloseStreamAtOffset(offset, false); // Full close
-}
-
-void ReliableQuicStream::ConnectionClose(QuicErrorCode error, bool from_peer) {
- error_ = error;
- if (from_peer) {
- TerminateFromPeer(false);
- } else {
- CloseWriteSide();
- CloseReadSide();
- }
-}
-
-void ReliableQuicStream::TerminateFromPeer(bool half_close) {
- if (!half_close) {
- CloseWriteSide();
- }
- CloseReadSide();
-}
-
-void ReliableQuicStream::Close(QuicErrorCode error) {
- error_ = error;
- session()->SendRstStream(id(), error, offset_);
-}
-
-bool ReliableQuicStream::IsHalfClosed() {
- return sequencer_.IsHalfClosed();
-}
-
-bool ReliableQuicStream::HasBytesToRead() {
- return sequencer_.HasBytesToRead();
-}
-
-int ReliableQuicStream::WriteData(StringPiece data, bool fin) {
- if (write_side_closed_) {
- DLOG(ERROR) << "Attempt to write when the write side is closed";
- return 0;
- }
-
- session()->WriteData(id(), data, offset_, fin);
- offset_ += data.length();
- if (fin) {
- CloseWriteSide();
- }
- return data.length();
-}
-
-void ReliableQuicStream::CloseReadSide() {
- DLOG(INFO) << "Done reading from stream " << id();
-
- read_side_closed_ = true;
- if (write_side_closed_) {
- session_->CloseStream(id());
- }
-}
-
-void ReliableQuicStream::CloseWriteSide() {
- DLOG(INFO) << "Done writing to stream " << id();
-
- write_side_closed_ = true;
- if (read_side_closed_) {
- session_->CloseStream(id());
- }
-}
-
-} // namespace net