OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // The base class for client/server reliable streams. | 5 // The base class for client/server reliable streams. |
6 | 6 |
7 #ifndef NET_QUIC_RELIABLE_QUIC_STREAM_H_ | 7 #ifndef NET_QUIC_RELIABLE_QUIC_STREAM_H_ |
8 #define NET_QUIC_RELIABLE_QUIC_STREAM_H_ | 8 #define NET_QUIC_RELIABLE_QUIC_STREAM_H_ |
9 | 9 |
10 #include <sys/types.h> | 10 #include <sys/types.h> |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 // Called by the sequencer, when we should process a stream termination or | 69 // Called by the sequencer, when we should process a stream termination or |
70 // stream close from the peer. | 70 // stream close from the peer. |
71 virtual void TerminateFromPeer(bool half_close); | 71 virtual void TerminateFromPeer(bool half_close); |
72 | 72 |
73 virtual uint32 ProcessRawData(const char* data, uint32 data_len); | 73 virtual uint32 ProcessRawData(const char* data, uint32 data_len); |
74 virtual uint32 ProcessHeaderData(); | 74 virtual uint32 ProcessHeaderData(); |
75 | 75 |
76 virtual uint32 ProcessData(const char* data, uint32 data_len) = 0; | 76 virtual uint32 ProcessData(const char* data, uint32 data_len) = 0; |
77 | 77 |
78 virtual bool OnDecompressedData(base::StringPiece data) OVERRIDE; | 78 virtual bool OnDecompressedData(base::StringPiece data) OVERRIDE; |
| 79 virtual void OnDecompressionError() OVERRIDE; |
79 | 80 |
80 // Called to close the stream from this end. | 81 // Called to close the stream from this end. |
81 virtual void Close(QuicRstStreamErrorCode error); | 82 virtual void Close(QuicRstStreamErrorCode error); |
82 | 83 |
83 // This block of functions wraps the sequencer's functions of the same | 84 // This block of functions wraps the sequencer's functions of the same |
84 // name. These methods return uncompressed data until that has | 85 // name. These methods return uncompressed data until that has |
85 // been fully processed. Then they simply delegate to the sequencer. | 86 // been fully processed. Then they simply delegate to the sequencer. |
86 virtual int Readv(const struct iovec* iov, int iov_len); | 87 virtual int Readv(const struct iovec* iov, int iov_len); |
87 virtual int GetReadableRegions(iovec* iov, int iov_len); | 88 virtual int GetReadableRegions(iovec* iov, int iov_len); |
88 virtual bool IsHalfClosed() const; | 89 virtual bool IsHalfClosed() const; |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 // True if the write side is closed, and further writes should fail. | 180 // True if the write side is closed, and further writes should fail. |
180 bool write_side_closed_; | 181 bool write_side_closed_; |
181 | 182 |
182 bool fin_buffered_; | 183 bool fin_buffered_; |
183 bool fin_sent_; | 184 bool fin_sent_; |
184 }; | 185 }; |
185 | 186 |
186 } // namespace net | 187 } // namespace net |
187 | 188 |
188 #endif // NET_QUIC_RELIABLE_QUIC_STREAM_H_ | 189 #endif // NET_QUIC_RELIABLE_QUIC_STREAM_H_ |
OLD | NEW |