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 #ifndef NET_TOOLS_QUIC_QUIC_RELIABLE_SERVER_STREAM_H_ | 5 #ifndef NET_TOOLS_QUIC_QUIC_RELIABLE_SERVER_STREAM_H_ |
6 #define NET_TOOLS_QUIC_QUIC_RELIABLE_SERVER_STREAM_H_ | 6 #define NET_TOOLS_QUIC_QUIC_RELIABLE_SERVER_STREAM_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "net/quic/quic_protocol.h" | 10 #include "net/quic/quic_protocol.h" |
11 #include "net/quic/reliable_quic_stream.h" | 11 #include "net/quic/reliable_quic_stream.h" |
12 #include "net/tools/flip_server/balsa_headers.h" | 12 #include "net/tools/flip_server/balsa_headers.h" |
13 | 13 |
14 namespace net { | 14 namespace net { |
15 | 15 |
| 16 class QuicSession; |
| 17 |
| 18 namespace tools { |
| 19 |
16 namespace test { | 20 namespace test { |
17 class QuicReliableServerStreamPeer; | 21 class QuicReliableServerStreamPeer; |
18 } // namespace test | 22 } // namespace test |
19 | 23 |
20 class QuicSession; | |
21 | |
22 // A base class for spdy/http server streams which handles the concept | 24 // A base class for spdy/http server streams which handles the concept |
23 // of sending and receiving headers and bodies. | 25 // of sending and receiving headers and bodies. |
24 class QuicReliableServerStream : public ReliableQuicStream { | 26 class QuicReliableServerStream : public ReliableQuicStream { |
25 public: | 27 public: |
26 QuicReliableServerStream(QuicStreamId id, QuicSession* session); | 28 QuicReliableServerStream(QuicStreamId id, QuicSession* session); |
27 virtual ~QuicReliableServerStream() {} | 29 virtual ~QuicReliableServerStream() {} |
28 | 30 |
29 // Subclasses should process and frame data when this is called, returning | 31 // Subclasses should process and frame data when this is called, returning |
30 // how many bytes are processed. | 32 // how many bytes are processed. |
31 virtual uint32 ProcessData(const char* data, uint32 data_len) = 0; | 33 virtual uint32 ProcessData(const char* data, uint32 data_len) = 0; |
(...skipping 18 matching lines...) Expand all Loading... |
50 BalsaHeaders* mutable_headers() { return &headers_; } | 52 BalsaHeaders* mutable_headers() { return &headers_; } |
51 string* mutable_body() { return &body_; } | 53 string* mutable_body() { return &body_; } |
52 | 54 |
53 private: | 55 private: |
54 friend class test::QuicReliableServerStreamPeer; | 56 friend class test::QuicReliableServerStreamPeer; |
55 | 57 |
56 BalsaHeaders headers_; | 58 BalsaHeaders headers_; |
57 string body_; | 59 string body_; |
58 }; | 60 }; |
59 | 61 |
| 62 } // namespace tools |
60 } // namespace net | 63 } // namespace net |
61 | 64 |
62 #endif // NET_TOOLS_QUIC_QUIC_RELIABLE_SERVER_STREAM_H_ | 65 #endif // NET_TOOLS_QUIC_QUIC_RELIABLE_SERVER_STREAM_H_ |
OLD | NEW |