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
3 // found in the LICENSE file.
5 #ifndef NET_TOOLS_QUIC_QUIC_SPDY_SERVER_STREAM_H_
6 #define NET_TOOLS_QUIC_QUIC_SPDY_SERVER_STREAM_H_
10 #include "net/base/io_buffer.h"
11 #include "net/tools/quic/quic_reliable_server_stream.h"
19 // All this does right now is aggregate data, and on fin, send a cached
21 class QuicSpdyServerStream
: public QuicReliableServerStream
{
23 QuicSpdyServerStream(QuicStreamId id
, QuicSession
* session
);
24 virtual ~QuicSpdyServerStream();
26 // ReliableQuicStream implementation called by the session when there's
28 virtual uint32
ProcessData(const char* data
, uint32 data_len
) OVERRIDE
;
30 virtual void SendHeaders(const BalsaHeaders
& response_headers
) OVERRIDE
;
32 int ParseRequestHeaders();
35 virtual void TerminateFromPeer(bool half_close
) OVERRIDE
;
37 // Buffer into which response header data is read.
38 scoped_refptr
<GrowableIOBuffer
> read_buf_
;
39 bool request_headers_received_
;
45 #endif // NET_TOOLS_QUIC_QUIC_SPDY_SERVER_STREAM_H_