Chromium Code Reviews| Index: net/quic/quic_reliable_client_stream.cc |
| diff --git a/net/quic/quic_reliable_client_stream.cc b/net/quic/quic_reliable_client_stream.cc |
| index 09fb01ef6c9fb114b07b062ffd00091f1df7fdbe..ccbf9e69e6e333f43f77f2bde42eebdffa989f93 100644 |
| --- a/net/quic/quic_reliable_client_stream.cc |
| +++ b/net/quic/quic_reliable_client_stream.cc |
| @@ -5,19 +5,26 @@ |
| #include "net/quic/quic_reliable_client_stream.h" |
| #include "net/base/net_errors.h" |
| +#include "net/quic/quic_session.h" |
| namespace net { |
| QuicReliableClientStream::QuicReliableClientStream(QuicStreamId id, |
| QuicSession* session) |
| - : ReliableQuicStream(id, session) { |
| + : ReliableQuicStream(id, session), |
| + delegate_(NULL) { |
| } |
| QuicReliableClientStream::~QuicReliableClientStream() { |
| + if (delegate_) { |
| + delegate_->OnClose(error()); |
| + } |
| } |
| uint32 QuicReliableClientStream::ProcessData(const char* data, |
| uint32 data_len) { |
| + // TODO(rch): buffere data if we don't have a delegate. |
| + DCHECK(delegate_); |
| int rv = delegate_->OnDataReceived(data, data_len); |
| if (rv != OK) { |
| DLOG(ERROR) << "Delegate refused data, rv: " << rv; |
| @@ -28,12 +35,25 @@ uint32 QuicReliableClientStream::ProcessData(const char* data, |
| } |
| void QuicReliableClientStream::TerminateFromPeer(bool half_close) { |
| - delegate_->OnClose(error()); |
| + if (delegate_) { |
| + delegate_->OnClose(error()); |
| + delegate_ = NULL; |
| + } |
| } |
| void QuicReliableClientStream::SetDelegate( |
| QuicReliableClientStream::Delegate* delegate) { |
| + DCHECK((!delegate_ && delegate) || (delegate_ && !delegate)); |
| delegate_ = delegate; |
| } |
| +IPEndPoint QuicReliableClientStream::GetPeerAddress() { |
| + return session()->connection()->peer_address(); |
| +} |
| + |
| +int QuicReliableClientStream::WriteData(base::StringPiece data, |
| + bool fin) { |
| + return ReliableQuicStream::WriteData(data, fin); |
|
willchan no longer on Chromium
2012/11/21 22:55:05
This looks weird. Why are we overriding to just ca
Ryan Hamilton
2012/11/21 23:06:35
I overrode it so that I could make it public. Wou
|
| +} |
| + |
| } // namespace net |