summaryrefslogtreecommitdiff
path: root/chromium/net/quic/quic_chromium_client_stream.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/quic/quic_chromium_client_stream.h')
-rw-r--r--chromium/net/quic/quic_chromium_client_stream.h157
1 files changed, 0 insertions, 157 deletions
diff --git a/chromium/net/quic/quic_chromium_client_stream.h b/chromium/net/quic/quic_chromium_client_stream.h
deleted file mode 100644
index 976db2a8b89..00000000000
--- a/chromium/net/quic/quic_chromium_client_stream.h
+++ /dev/null
@@ -1,157 +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.
-//
-// NOTE: This code is not shared between Google and Chrome.
-
-#ifndef NET_QUIC_QUIC_CHROMIUM_CLIENT_STREAM_H_
-#define NET_QUIC_QUIC_CHROMIUM_CLIENT_STREAM_H_
-
-#include <stddef.h>
-
-#include <deque>
-#include <vector>
-
-#include "base/callback_forward.h"
-#include "base/macros.h"
-#include "net/base/ip_endpoint.h"
-#include "net/base/upload_data_stream.h"
-#include "net/http/http_request_info.h"
-#include "net/http/http_response_info.h"
-#include "net/http/http_stream.h"
-#include "net/quic/quic_spdy_stream.h"
-
-namespace net {
-
-class QuicClientSessionBase;
-
-// A client-initiated ReliableQuicStream. Instances of this class
-// are owned by the QuicClientSession which created them.
-class NET_EXPORT_PRIVATE QuicChromiumClientStream : public QuicSpdyStream {
- public:
- // Delegate handles protocol specific behavior of a quic stream.
- class NET_EXPORT_PRIVATE Delegate {
- public:
- Delegate() {}
-
- // Called when headers are available.
- virtual void OnHeadersAvailable(const SpdyHeaderBlock& headers,
- size_t frame_len) = 0;
-
- // Called when data is available to be read.
- virtual void OnDataAvailable() = 0;
-
- // Called when the stream is closed by the peer.
- virtual void OnClose() = 0;
-
- // Called when the stream is closed because of an error.
- virtual void OnError(int error) = 0;
-
- // Returns true if sending of headers has completed.
- virtual bool HasSendHeadersComplete() = 0;
-
- protected:
- virtual ~Delegate() {}
-
- private:
- DISALLOW_COPY_AND_ASSIGN(Delegate);
- };
-
- QuicChromiumClientStream(QuicStreamId id,
- QuicClientSessionBase* session,
- const BoundNetLog& net_log);
-
- ~QuicChromiumClientStream() override;
-
- // QuicSpdyStream
- void OnStreamHeadersComplete(bool fin, size_t frame_len) override;
- void OnInitialHeadersComplete(bool fin,
- size_t frame_len,
- const QuicHeaderList& header_list) override;
- void OnTrailingHeadersComplete(bool fin,
- size_t frame_len,
- const QuicHeaderList& header_list) override;
- void OnPromiseHeadersComplete(QuicStreamId promised_stream_id,
- size_t frame_len) override;
- void OnPromiseHeaderList(QuicStreamId promised_id,
- size_t frame_len,
- const QuicHeaderList& header_list) override;
- void OnDataAvailable() override;
- void OnClose() override;
- void OnCanWrite() override;
- size_t WriteHeaders(SpdyHeaderBlock header_block,
- bool fin,
- QuicAckListenerInterface* ack_notifier_delegate) override;
- SpdyPriority priority() const override;
-
- // While the server's set_priority shouldn't be called externally, the creator
- // of client-side streams should be able to set the priority.
- using QuicSpdyStream::SetPriority;
-
- int WriteStreamData(base::StringPiece data,
- bool fin,
- const CompletionCallback& callback);
- // Same as WriteStreamData except it writes data from a vector of IOBuffers,
- // with the length of each buffer at the corresponding index in |lengths|.
- int WritevStreamData(const std::vector<scoped_refptr<IOBuffer>>& buffers,
- const std::vector<int>& lengths,
- bool fin,
- const CompletionCallback& callback);
- // Set new |delegate|. |delegate| must not be NULL.
- // If this stream has already received data, OnDataReceived() will be
- // called on the delegate.
- void SetDelegate(Delegate* delegate);
- Delegate* GetDelegate() { return delegate_; }
- void OnError(int error);
-
- // Reads at most |buf_len| bytes into |buf|. Returns the number of bytes read.
- int Read(IOBuffer* buf, int buf_len);
-
- // Returns true if the stream can possible write data. (The socket may
- // turn out to be write blocked, of course). If the stream can not write,
- // this method returns false, and |callback| will be invoked when
- // it becomes writable.
- bool CanWrite(const CompletionCallback& callback);
-
- const BoundNetLog& net_log() const { return net_log_; }
-
- // Prevents this stream from migrating to a new network. May cause other
- // concurrent streams within the session to also not migrate.
- void DisableConnectionMigration();
-
- bool can_migrate() { return can_migrate_; }
-
- using QuicSpdyStream::HasBufferedData;
-
- private:
- void NotifyDelegateOfHeadersCompleteLater(SpdyHeaderBlock headers,
- size_t frame_len);
- void NotifyDelegateOfHeadersComplete(SpdyHeaderBlock headers,
- size_t frame_len);
- void NotifyDelegateOfDataAvailableLater();
- void NotifyDelegateOfDataAvailable();
- void RunOrBuffer(base::Closure closure);
-
- BoundNetLog net_log_;
- Delegate* delegate_;
-
- bool headers_delivered_;
-
- CompletionCallback callback_;
-
- QuicClientSessionBase* session_;
-
- // Set to false if this stream to not be migrated during connection migration.
- bool can_migrate_;
-
- // Holds notifications generated before delegate_ is set.
- std::deque<base::Closure> delegate_tasks_;
-
- base::WeakPtrFactory<QuicChromiumClientStream> weak_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(QuicChromiumClientStream);
-};
-
-} // namespace net
-
-#endif // NET_QUIC_QUIC_CHROMIUM_CLIENT_STREAM_H_