| Index: net/quic/quic_http_stream.h
|
| diff --git a/net/quic/quic_http_stream.h b/net/quic/quic_http_stream.h
|
| deleted file mode 100644
|
| index 81d4be91bc4d2ddd365136e4ab94b6471b43233d..0000000000000000000000000000000000000000
|
| --- a/net/quic/quic_http_stream.h
|
| +++ /dev/null
|
| @@ -1,171 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef NET_QUIC_QUIC_HTTP_STREAM_H_
|
| -#define NET_QUIC_QUIC_HTTP_STREAM_H_
|
| -
|
| -#include <list>
|
| -
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "net/base/io_buffer.h"
|
| -#include "net/http/http_stream.h"
|
| -#include "net/quic/quic_client_session.h"
|
| -#include "net/quic/quic_reliable_client_stream.h"
|
| -
|
| -namespace net {
|
| -
|
| -namespace test {
|
| -class QuicHttpStreamPeer;
|
| -} // namespace test
|
| -
|
| -// The QuicHttpStream is a QUIC-specific HttpStream subclass. It holds a
|
| -// non-owning pointer to a QuicReliableClientStream which it uses to
|
| -// send and receive data.
|
| -class NET_EXPORT_PRIVATE QuicHttpStream :
|
| - public QuicClientSession::Observer,
|
| - public QuicReliableClientStream::Delegate,
|
| - public HttpStream {
|
| - public:
|
| - explicit QuicHttpStream(const base::WeakPtr<QuicClientSession>& session);
|
| -
|
| - ~QuicHttpStream() override;
|
| -
|
| - // HttpStream implementation.
|
| - int InitializeStream(const HttpRequestInfo* request_info,
|
| - RequestPriority priority,
|
| - const BoundNetLog& net_log,
|
| - const CompletionCallback& callback) override;
|
| - int SendRequest(const HttpRequestHeaders& request_headers,
|
| - HttpResponseInfo* response,
|
| - const CompletionCallback& callback) override;
|
| - UploadProgress GetUploadProgress() const override;
|
| - int ReadResponseHeaders(const CompletionCallback& callback) override;
|
| - int ReadResponseBody(IOBuffer* buf,
|
| - int buf_len,
|
| - const CompletionCallback& callback) override;
|
| - void Close(bool not_reusable) override;
|
| - HttpStream* RenewStreamForAuth() override;
|
| - bool IsResponseBodyComplete() const override;
|
| - bool CanFindEndOfResponse() const override;
|
| - bool IsConnectionReused() const override;
|
| - void SetConnectionReused() override;
|
| - bool IsConnectionReusable() const override;
|
| - int64 GetTotalReceivedBytes() const override;
|
| - bool GetLoadTimingInfo(LoadTimingInfo* load_timing_info) const override;
|
| - void GetSSLInfo(SSLInfo* ssl_info) override;
|
| - void GetSSLCertRequestInfo(SSLCertRequestInfo* cert_request_info) override;
|
| - bool IsSpdyHttpStream() const override;
|
| - void Drain(HttpNetworkSession* session) override;
|
| - void SetPriority(RequestPriority priority) override;
|
| -
|
| - // QuicReliableClientStream::Delegate implementation
|
| - int OnDataReceived(const char* data, int length) override;
|
| - void OnClose(QuicErrorCode error) override;
|
| - void OnError(int error) override;
|
| - bool HasSendHeadersComplete() override;
|
| -
|
| - // QuicClientSession::Observer implementation
|
| - void OnCryptoHandshakeConfirmed() override;
|
| - void OnSessionClosed(int error) override;
|
| -
|
| - private:
|
| - friend class test::QuicHttpStreamPeer;
|
| -
|
| - enum State {
|
| - STATE_NONE,
|
| - STATE_SEND_HEADERS,
|
| - STATE_SEND_HEADERS_COMPLETE,
|
| - STATE_READ_REQUEST_BODY,
|
| - STATE_READ_REQUEST_BODY_COMPLETE,
|
| - STATE_SEND_BODY,
|
| - STATE_SEND_BODY_COMPLETE,
|
| - STATE_OPEN,
|
| - };
|
| -
|
| - void OnStreamReady(int rv);
|
| - void OnIOComplete(int rv);
|
| - void DoCallback(int rv);
|
| -
|
| - int DoLoop(int);
|
| - int DoSendHeaders();
|
| - int DoSendHeadersComplete(int rv);
|
| - int DoReadRequestBody();
|
| - int DoReadRequestBodyComplete(int rv);
|
| - int DoSendBody();
|
| - int DoSendBodyComplete(int rv);
|
| - int DoReadResponseHeaders();
|
| - int DoReadResponseHeadersComplete(int rv);
|
| -
|
| - int ParseResponseHeaders();
|
| -
|
| - void BufferResponseBody(const char* data, int length);
|
| -
|
| - State next_state_;
|
| -
|
| - base::WeakPtr<QuicClientSession> session_;
|
| - int session_error_; // Error code from the connection shutdown.
|
| - bool was_handshake_confirmed_; // True if the crypto handshake succeeded.
|
| - QuicClientSession::StreamRequest stream_request_;
|
| - QuicReliableClientStream* stream_; // Non-owning.
|
| -
|
| - // The following three fields are all owned by the caller and must
|
| - // outlive this object, according to the HttpStream contract.
|
| -
|
| - // The request to send.
|
| - const HttpRequestInfo* request_info_;
|
| - // The request body to send, if any, owned by the caller.
|
| - UploadDataStream* request_body_stream_;
|
| - // Time the request was issued.
|
| - base::Time request_time_;
|
| - // The priority of the request.
|
| - RequestPriority priority_;
|
| - // |response_info_| is the HTTP response data object which is filled in
|
| - // when a the response headers are read. It is not owned by this stream.
|
| - HttpResponseInfo* response_info_;
|
| - // Because response data is buffered, also buffer the response status if the
|
| - // stream is explicitly closed via OnError or OnClose with an error.
|
| - // Once all buffered data has been returned, this will be used as the final
|
| - // response.
|
| - int response_status_;
|
| -
|
| - // Serialized request headers.
|
| - SpdyHeaderBlock request_headers_;
|
| -
|
| - bool response_headers_received_;
|
| -
|
| - // Serialized HTTP request.
|
| - std::string request_;
|
| -
|
| - // Buffer into which response header data is read.
|
| - scoped_refptr<GrowableIOBuffer> read_buf_;
|
| -
|
| - // We buffer the response body as it arrives asynchronously from the stream.
|
| - // TODO(rch): This is infinite buffering, which is bad.
|
| - std::list<scoped_refptr<IOBufferWithSize> > response_body_;
|
| -
|
| - // Number of bytes received when the stream was closed.
|
| - int64 closed_stream_received_bytes_;
|
| -
|
| - // The caller's callback to be used for asynchronous operations.
|
| - CompletionCallback callback_;
|
| -
|
| - // Caller provided buffer for the ReadResponseBody() response.
|
| - scoped_refptr<IOBuffer> user_buffer_;
|
| - int user_buffer_len_;
|
| -
|
| - // Temporary buffer used to read the request body from UploadDataStream.
|
| - scoped_refptr<IOBufferWithSize> raw_request_body_buf_;
|
| - // Wraps raw_request_body_buf_ to read the remaining data progressively.
|
| - scoped_refptr<DrainableIOBuffer> request_body_buf_;
|
| -
|
| - BoundNetLog stream_net_log_;
|
| -
|
| - base::WeakPtrFactory<QuicHttpStream> weak_factory_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(QuicHttpStream);
|
| -};
|
| -
|
| -} // namespace net
|
| -
|
| -#endif // NET_QUIC_QUIC_HTTP_STREAM_H_
|
|
|