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

Side by Side Diff: net/spdy/spdy_stream_test_util.cc

Issue 2832973003: Split net/spdy into core and chromium subdirectories. (Closed)
Patch Set: Fix some more build rules. Created 3 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 unified diff | Download patch
« no previous file with comments | « net/spdy/spdy_stream_test_util.h ('k') | net/spdy/spdy_stream_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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.
4
5 #include "net/spdy/spdy_stream_test_util.h"
6
7 #include <cstddef>
8 #include <utility>
9
10 #include "base/stl_util.h"
11 #include "net/base/completion_callback.h"
12 #include "net/spdy/spdy_stream.h"
13 #include "testing/gtest/include/gtest/gtest.h"
14
15 namespace net {
16
17 namespace test {
18
19 ClosingDelegate::ClosingDelegate(
20 const base::WeakPtr<SpdyStream>& stream) : stream_(stream) {
21 DCHECK(stream_);
22 }
23
24 ClosingDelegate::~ClosingDelegate() {}
25
26 void ClosingDelegate::OnHeadersSent() {}
27
28 void ClosingDelegate::OnHeadersReceived(
29 const SpdyHeaderBlock& response_headers) {}
30
31 void ClosingDelegate::OnDataReceived(std::unique_ptr<SpdyBuffer> buffer) {}
32
33 void ClosingDelegate::OnDataSent() {}
34
35 void ClosingDelegate::OnTrailers(const SpdyHeaderBlock& trailers) {}
36
37 void ClosingDelegate::OnClose(int status) {
38 DCHECK(stream_);
39 stream_->Close();
40 // The |stream_| may still be alive (if it is our delegate).
41 }
42
43 NetLogSource ClosingDelegate::source_dependency() const {
44 return NetLogSource();
45 }
46
47 StreamDelegateBase::StreamDelegateBase(
48 const base::WeakPtr<SpdyStream>& stream)
49 : stream_(stream),
50 stream_id_(0),
51 send_headers_completed_(false) {
52 }
53
54 StreamDelegateBase::~StreamDelegateBase() {
55 }
56
57 void StreamDelegateBase::OnHeadersSent() {
58 stream_id_ = stream_->stream_id();
59 EXPECT_NE(stream_id_, 0u);
60 send_headers_completed_ = true;
61 }
62
63 void StreamDelegateBase::OnHeadersReceived(
64 const SpdyHeaderBlock& response_headers) {
65 EXPECT_EQ(stream_->type() != SPDY_PUSH_STREAM, send_headers_completed_);
66 response_headers_ = response_headers.Clone();
67 }
68
69 void StreamDelegateBase::OnDataReceived(std::unique_ptr<SpdyBuffer> buffer) {
70 if (buffer)
71 received_data_queue_.Enqueue(std::move(buffer));
72 }
73
74 void StreamDelegateBase::OnDataSent() {}
75
76 void StreamDelegateBase::OnTrailers(const SpdyHeaderBlock& trailers) {}
77
78 void StreamDelegateBase::OnClose(int status) {
79 if (!stream_.get())
80 return;
81 stream_id_ = stream_->stream_id();
82 stream_.reset();
83 callback_.callback().Run(status);
84 }
85
86 NetLogSource StreamDelegateBase::source_dependency() const {
87 return NetLogSource();
88 }
89
90 int StreamDelegateBase::WaitForClose() {
91 int result = callback_.WaitForResult();
92 EXPECT_TRUE(!stream_.get());
93 return result;
94 }
95
96 SpdyString StreamDelegateBase::TakeReceivedData() {
97 size_t len = received_data_queue_.GetTotalSize();
98 SpdyString received_data(len, '\0');
99 if (len > 0) {
100 EXPECT_EQ(len, received_data_queue_.Dequeue(
101 base::string_as_array(&received_data), len));
102 }
103 return received_data;
104 }
105
106 SpdyString StreamDelegateBase::GetResponseHeaderValue(
107 const SpdyString& name) const {
108 SpdyHeaderBlock::const_iterator it = response_headers_.find(name);
109 return (it == response_headers_.end()) ? SpdyString()
110 : it->second.as_string();
111 }
112
113 StreamDelegateDoNothing::StreamDelegateDoNothing(
114 const base::WeakPtr<SpdyStream>& stream)
115 : StreamDelegateBase(stream) {}
116
117 StreamDelegateDoNothing::~StreamDelegateDoNothing() {
118 }
119
120 StreamDelegateSendImmediate::StreamDelegateSendImmediate(
121 const base::WeakPtr<SpdyStream>& stream,
122 SpdyStringPiece data)
123 : StreamDelegateBase(stream), data_(data) {}
124
125 StreamDelegateSendImmediate::~StreamDelegateSendImmediate() {
126 }
127
128 void StreamDelegateSendImmediate::OnHeadersReceived(
129 const SpdyHeaderBlock& response_headers) {
130 StreamDelegateBase::OnHeadersReceived(response_headers);
131 if (data_.data()) {
132 scoped_refptr<StringIOBuffer> buf(new StringIOBuffer(data_.as_string()));
133 stream()->SendData(buf.get(), buf->size(), MORE_DATA_TO_SEND);
134 }
135 }
136
137 StreamDelegateWithBody::StreamDelegateWithBody(
138 const base::WeakPtr<SpdyStream>& stream,
139 SpdyStringPiece data)
140 : StreamDelegateBase(stream), buf_(new StringIOBuffer(data.as_string())) {}
141
142 StreamDelegateWithBody::~StreamDelegateWithBody() {
143 }
144
145 void StreamDelegateWithBody::OnHeadersSent() {
146 StreamDelegateBase::OnHeadersSent();
147 stream()->SendData(buf_.get(), buf_->size(), NO_MORE_DATA_TO_SEND);
148 }
149
150 StreamDelegateCloseOnHeaders::StreamDelegateCloseOnHeaders(
151 const base::WeakPtr<SpdyStream>& stream)
152 : StreamDelegateBase(stream) {
153 }
154
155 StreamDelegateCloseOnHeaders::~StreamDelegateCloseOnHeaders() {
156 }
157
158 void StreamDelegateCloseOnHeaders::OnHeadersReceived(
159 const SpdyHeaderBlock& response_headers) {
160 stream()->Cancel();
161 }
162
163 } // namespace test
164
165 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_stream_test_util.h ('k') | net/spdy/spdy_stream_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698