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

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

Issue 15740018: [SPDY] Change SpdyStream::QueueStreamData() To SendStreamData() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments Created 7 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « net/spdy/spdy_stream_test_util.h ('k') | net/spdy/spdy_websocket_stream.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/spdy/spdy_stream_test_util.h" 5 #include "net/spdy/spdy_stream_test_util.h"
6 6
7 #include <cstddef> 7 #include <cstddef>
8 8
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "net/base/completion_callback.h" 10 #include "net/base/completion_callback.h"
(...skipping 10 matching lines...) Expand all
21 ClosingDelegate::~ClosingDelegate() {} 21 ClosingDelegate::~ClosingDelegate() {}
22 22
23 SpdySendStatus ClosingDelegate::OnSendHeadersComplete() { 23 SpdySendStatus ClosingDelegate::OnSendHeadersComplete() {
24 return NO_MORE_DATA_TO_SEND; 24 return NO_MORE_DATA_TO_SEND;
25 } 25 }
26 26
27 void ClosingDelegate::OnSendBody() { 27 void ClosingDelegate::OnSendBody() {
28 ADD_FAILURE() << "OnSendBody should not be called"; 28 ADD_FAILURE() << "OnSendBody should not be called";
29 } 29 }
30 30
31 SpdySendStatus ClosingDelegate::OnSendBodyComplete(size_t /*bytes_sent*/) { 31 SpdySendStatus ClosingDelegate::OnSendBodyComplete() {
32 return NO_MORE_DATA_TO_SEND; 32 return NO_MORE_DATA_TO_SEND;
33 } 33 }
34 34
35 int ClosingDelegate::OnResponseReceived(const SpdyHeaderBlock& response, 35 int ClosingDelegate::OnResponseReceived(const SpdyHeaderBlock& response,
36 base::Time response_time, 36 base::Time response_time,
37 int status) { 37 int status) {
38 return OK; 38 return OK;
39 } 39 }
40 40
41 void ClosingDelegate::OnHeadersSent() {} 41 void ClosingDelegate::OnHeadersSent() {}
42 42
43 int ClosingDelegate::OnDataReceived(scoped_ptr<SpdyBuffer> buffer) { 43 int ClosingDelegate::OnDataReceived(scoped_ptr<SpdyBuffer> buffer) {
44 return OK; 44 return OK;
45 } 45 }
46 46
47 void ClosingDelegate::OnDataSent(size_t bytes_sent) {} 47 void ClosingDelegate::OnDataSent() {}
48 48
49 void ClosingDelegate::OnClose(int status) { 49 void ClosingDelegate::OnClose(int status) {
50 DCHECK(stream_); 50 DCHECK(stream_);
51 stream_->Close(); 51 stream_->Close();
52 DCHECK(!stream_); 52 DCHECK(!stream_);
53 } 53 }
54 54
55 StreamDelegateBase::StreamDelegateBase( 55 StreamDelegateBase::StreamDelegateBase(
56 const base::WeakPtr<SpdyStream>& stream) 56 const base::WeakPtr<SpdyStream>& stream)
57 : stream_(stream), 57 : stream_(stream),
58 stream_id_(0), 58 stream_id_(0),
59 send_headers_completed_(false), 59 send_headers_completed_(false) {
60 headers_sent_(0),
61 data_sent_(0) {
62 } 60 }
63 61
64 StreamDelegateBase::~StreamDelegateBase() { 62 StreamDelegateBase::~StreamDelegateBase() {
65 } 63 }
66 64
67 SpdySendStatus StreamDelegateBase::OnSendHeadersComplete() { 65 SpdySendStatus StreamDelegateBase::OnSendHeadersComplete() {
68 stream_id_ = stream_->stream_id(); 66 stream_id_ = stream_->stream_id();
69 EXPECT_NE(stream_id_, 0u); 67 EXPECT_NE(stream_id_, 0u);
70 send_headers_completed_ = true; 68 send_headers_completed_ = true;
71 return NO_MORE_DATA_TO_SEND; 69 return NO_MORE_DATA_TO_SEND;
72 } 70 }
73 71
74 int StreamDelegateBase::OnResponseReceived(const SpdyHeaderBlock& response, 72 int StreamDelegateBase::OnResponseReceived(const SpdyHeaderBlock& response,
75 base::Time response_time, 73 base::Time response_time,
76 int status) { 74 int status) {
77 EXPECT_TRUE(send_headers_completed_); 75 EXPECT_TRUE(send_headers_completed_);
78 response_ = response; 76 response_ = response;
79 return status; 77 return status;
80 } 78 }
81 79
82 void StreamDelegateBase::OnHeadersSent() { 80 void StreamDelegateBase::OnHeadersSent() {}
83 headers_sent_++;
84 }
85 81
86 int StreamDelegateBase::OnDataReceived(scoped_ptr<SpdyBuffer> buffer) { 82 int StreamDelegateBase::OnDataReceived(scoped_ptr<SpdyBuffer> buffer) {
87 if (buffer) 83 if (buffer)
88 received_data_queue_.Enqueue(buffer.Pass()); 84 received_data_queue_.Enqueue(buffer.Pass());
89 return OK; 85 return OK;
90 } 86 }
91 87
92 void StreamDelegateBase::OnDataSent(size_t bytes_sent) { 88 void StreamDelegateBase::OnDataSent() {}
93 data_sent_ += bytes_sent;
94 }
95 89
96 void StreamDelegateBase::OnClose(int status) { 90 void StreamDelegateBase::OnClose(int status) {
97 if (!stream_) 91 if (!stream_)
98 return; 92 return;
99 stream_id_ = stream_->stream_id(); 93 stream_id_ = stream_->stream_id();
100 stream_.reset(); 94 stream_.reset();
101 callback_.callback().Run(status); 95 callback_.callback().Run(status);
102 } 96 }
103 97
104 int StreamDelegateBase::WaitForClose() { 98 int StreamDelegateBase::WaitForClose() {
(...skipping 23 matching lines...) Expand all
128 const base::WeakPtr<SpdyStream>& stream) 122 const base::WeakPtr<SpdyStream>& stream)
129 : StreamDelegateBase(stream) {} 123 : StreamDelegateBase(stream) {}
130 124
131 StreamDelegateDoNothing::~StreamDelegateDoNothing() { 125 StreamDelegateDoNothing::~StreamDelegateDoNothing() {
132 } 126 }
133 127
134 void StreamDelegateDoNothing::OnSendBody() { 128 void StreamDelegateDoNothing::OnSendBody() {
135 ADD_FAILURE() << "OnSendBody should not be called"; 129 ADD_FAILURE() << "OnSendBody should not be called";
136 } 130 }
137 131
138 SpdySendStatus StreamDelegateDoNothing::OnSendBodyComplete( 132 SpdySendStatus StreamDelegateDoNothing::OnSendBodyComplete() {
139 size_t /*bytes_sent*/) {
140 return NO_MORE_DATA_TO_SEND; 133 return NO_MORE_DATA_TO_SEND;
141 } 134 }
142 135
143 StreamDelegateSendImmediate::StreamDelegateSendImmediate( 136 StreamDelegateSendImmediate::StreamDelegateSendImmediate(
144 const base::WeakPtr<SpdyStream>& stream, 137 const base::WeakPtr<SpdyStream>& stream,
145 scoped_ptr<SpdyHeaderBlock> headers, 138 scoped_ptr<SpdyHeaderBlock> headers,
146 base::StringPiece data) 139 base::StringPiece data)
147 : StreamDelegateBase(stream), 140 : StreamDelegateBase(stream),
148 headers_(headers.Pass()), 141 headers_(headers.Pass()),
149 data_(data) {} 142 data_(data) {}
150 143
151 StreamDelegateSendImmediate::~StreamDelegateSendImmediate() { 144 StreamDelegateSendImmediate::~StreamDelegateSendImmediate() {
152 } 145 }
153 146
154 void StreamDelegateSendImmediate::OnSendBody() { 147 void StreamDelegateSendImmediate::OnSendBody() {
155 ADD_FAILURE() << "OnSendBody should not be called"; 148 ADD_FAILURE() << "OnSendBody should not be called";
156 } 149 }
157 150
158 SpdySendStatus StreamDelegateSendImmediate::OnSendBodyComplete( 151 SpdySendStatus StreamDelegateSendImmediate::OnSendBodyComplete() {
159 size_t /*bytes_sent*/) {
160 ADD_FAILURE() << "OnSendBodyComplete should not be called"; 152 ADD_FAILURE() << "OnSendBodyComplete should not be called";
161 return NO_MORE_DATA_TO_SEND; 153 return NO_MORE_DATA_TO_SEND;
162 } 154 }
163 155
164 int StreamDelegateSendImmediate::OnResponseReceived( 156 int StreamDelegateSendImmediate::OnResponseReceived(
165 const SpdyHeaderBlock& response, 157 const SpdyHeaderBlock& response,
166 base::Time response_time, 158 base::Time response_time,
167 int status) { 159 int status) {
168 status = 160 status =
169 StreamDelegateBase::OnResponseReceived(response, response_time, status); 161 StreamDelegateBase::OnResponseReceived(response, response_time, status);
170 if (headers_.get()) { 162 if (headers_.get()) {
171 stream()->QueueHeaders(headers_.Pass()); 163 stream()->SendHeaders(headers_.Pass());
172 } 164 }
173 if (data_.data()) { 165 if (data_.data()) {
174 scoped_refptr<StringIOBuffer> buf(new StringIOBuffer(data_.as_string())); 166 scoped_refptr<StringIOBuffer> buf(new StringIOBuffer(data_.as_string()));
175 stream()->QueueStreamData(buf, buf->size(), DATA_FLAG_NONE); 167 stream()->SendStreamData(buf, buf->size(), DATA_FLAG_NONE);
176 } 168 }
177 return status; 169 return status;
178 } 170 }
179 171
180 StreamDelegateWithBody::StreamDelegateWithBody( 172 StreamDelegateWithBody::StreamDelegateWithBody(
181 const base::WeakPtr<SpdyStream>& stream, 173 const base::WeakPtr<SpdyStream>& stream,
182 base::StringPiece data) 174 base::StringPiece data)
183 : StreamDelegateBase(stream), 175 : StreamDelegateBase(stream),
184 buf_(new DrainableIOBuffer(new StringIOBuffer(data.as_string()), 176 buf_(new StringIOBuffer(data.as_string())) {}
185 data.size())),
186 body_data_sent_(0) {}
187 177
188 StreamDelegateWithBody::~StreamDelegateWithBody() { 178 StreamDelegateWithBody::~StreamDelegateWithBody() {
189 } 179 }
190 180
191 SpdySendStatus StreamDelegateWithBody::OnSendHeadersComplete() { 181 SpdySendStatus StreamDelegateWithBody::OnSendHeadersComplete() {
192 StreamDelegateBase::OnSendHeadersComplete(); 182 StreamDelegateBase::OnSendHeadersComplete();
193 return MORE_DATA_TO_SEND; 183 return MORE_DATA_TO_SEND;
194 } 184 }
195 185
196 void StreamDelegateWithBody::OnSendBody() { 186 void StreamDelegateWithBody::OnSendBody() {
197 stream()->QueueStreamData(buf_.get(), buf_->BytesRemaining(), 187 stream()->SendStreamData(buf_.get(), buf_->size(), DATA_FLAG_NONE);
198 DATA_FLAG_NONE);
199 } 188 }
200 189
201 SpdySendStatus StreamDelegateWithBody::OnSendBodyComplete(size_t bytes_sent) { 190 SpdySendStatus StreamDelegateWithBody::OnSendBodyComplete() {
202 EXPECT_GT(bytes_sent, 0u);
203
204 buf_->DidConsume(bytes_sent);
205 body_data_sent_ += bytes_sent;
206 if (buf_->BytesRemaining() > 0) {
207 // Go back to OnSendBody() to send the remaining data.
208 return MORE_DATA_TO_SEND;
209 }
210
211 return NO_MORE_DATA_TO_SEND; 191 return NO_MORE_DATA_TO_SEND;
212 } 192 }
213 193
214 } // namespace test 194 } // namespace test
215 195
216 } // namespace net 196 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_stream_test_util.h ('k') | net/spdy/spdy_websocket_stream.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698