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_CLIENT_STREAM_H_
6 #define NET_TOOLS_QUIC_QUIC_SPDY_CLIENT_STREAM_H_
8 #include "base/strings/string_piece.h"
9 #include "net/base/io_buffer.h"
10 #include "net/tools/quic/quic_reliable_client_stream.h"
18 class QuicClientSession
;
20 // All this does right now is send an SPDY request, and aggregate the
22 class QuicSpdyClientStream
: public QuicReliableClientStream
{
24 QuicSpdyClientStream(QuicStreamId id
, QuicClientSession
* session
);
25 virtual ~QuicSpdyClientStream();
27 // ReliableQuicStream implementation called by the session when there's
29 virtual uint32
ProcessData(const char* data
, uint32 data_len
) OVERRIDE
;
31 virtual void TerminateFromPeer(bool half_close
) OVERRIDE
;
33 virtual ssize_t
SendRequest(const BalsaHeaders
& headers
,
34 base::StringPiece body
,
38 int ParseResponseHeaders();
40 scoped_refptr
<GrowableIOBuffer
> read_buf_
;
41 bool response_headers_received_
;
47 #endif // NET_TOOLS_QUIC_QUIC_SPDY_CLIENT_STREAM_H_