Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(605)

Unified Diff: net/spdy/spdy_read_queue.h

Issue 13990005: [SPDY] Replace SpdyIOBuffer with new SpdyBuffer class (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix missing include Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/spdy/spdy_proxy_client_socket.cc ('k') | net/spdy/spdy_read_queue.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/spdy/spdy_read_queue.h
diff --git a/net/spdy/spdy_read_queue.h b/net/spdy/spdy_read_queue.h
new file mode 100644
index 0000000000000000000000000000000000000000..65f3dafc93fd5e8e029a83893e64268fd33db46b
--- /dev/null
+++ b/net/spdy/spdy_read_queue.h
@@ -0,0 +1,51 @@
+// Copyright (c) 2013 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_SPDY_SPDY_BUFFER_QUEUE_H_
+#define NET_SPDY_SPDY_BUFFER_QUEUE_H_
+
+#include <cstddef>
+#include <deque>
+
+#include "base/basictypes.h"
+#include "base/memory/scoped_ptr.h"
+#include "net/base/net_export.h"
+
+namespace net {
+
+class SpdyBuffer;
+
+// A FIFO queue of incoming data from a SPDY connection. Useful for
+// SpdyStream delegates.
+class NET_EXPORT_PRIVATE SpdyReadQueue {
+ public:
+ SpdyReadQueue();
+ ~SpdyReadQueue();
+
+ // Returns whether there's anything in the queue.
+ bool IsEmpty() const;
+
+ // Returns the total number of bytes in the queue.
+ size_t GetTotalSize() const;
+
+ // Enqueues the bytes in |buffer|.
+ void Enqueue(scoped_ptr<SpdyBuffer> buffer);
+
+ // Dequeues up to |len| (which must be positive) bytes into
+ // |out|. Returns the number of bytes dequeued.
+ size_t Dequeue(char* out, size_t len);
+
+ // Removes all bytes from the queue.
+ void Clear();
+
+ private:
+ std::deque<SpdyBuffer*> queue_;
+ size_t total_size_;
+
+ DISALLOW_COPY_AND_ASSIGN(SpdyReadQueue);
+};
+
+} // namespace net
+
+#endif // NET_SPDY_SPDY_BUFFER_QUEUE_H_
« no previous file with comments | « net/spdy/spdy_proxy_client_socket.cc ('k') | net/spdy/spdy_read_queue.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698