Windows should animate when they are about to get docked at screen edges.
[chromium-blink-merge.git] / net / tools / quic / quic_spdy_client_stream.h
blobec4d25747f79c03da971440a112950bc06c84431
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"
12 namespace net {
14 class BalsaHeaders;
16 namespace tools {
18 class QuicClientSession;
20 // All this does right now is send an SPDY request, and aggregate the
21 // SPDY response.
22 class QuicSpdyClientStream : public QuicReliableClientStream {
23 public:
24 QuicSpdyClientStream(QuicStreamId id, QuicClientSession* session);
25 virtual ~QuicSpdyClientStream();
27 // ReliableQuicStream implementation called by the session when there's
28 // data for us.
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,
35 bool fin) OVERRIDE;
37 private:
38 int ParseResponseHeaders();
40 scoped_refptr<GrowableIOBuffer> read_buf_;
41 bool response_headers_received_;
44 } // namespace tools
45 } // namespace net
47 #endif // NET_TOOLS_QUIC_QUIC_SPDY_CLIENT_STREAM_H_