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

Side by Side Diff: jingle/glue/pseudotcp_adapter_unittest.cc

Issue 10038045: RefCounted types should not have public destructors, sql/ and jingle/ edition (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: implementation fixes Created 8 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 | « jingle/glue/pseudotcp_adapter.cc ('k') | sql/sqlite_features_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
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 "jingle/glue/pseudotcp_adapter.h" 5 #include "jingle/glue/pseudotcp_adapter.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 net::Socket* client_socket, 174 net::Socket* client_socket,
175 net::Socket* host_socket) 175 net::Socket* host_socket)
176 : message_loop_(message_loop), 176 : message_loop_(message_loop),
177 host_socket_(host_socket), 177 host_socket_(host_socket),
178 client_socket_(client_socket), 178 client_socket_(client_socket),
179 done_(false), 179 done_(false),
180 write_errors_(0), 180 write_errors_(0),
181 read_errors_(0) { 181 read_errors_(0) {
182 } 182 }
183 183
184 virtual ~TCPChannelTester() { }
185
186 void Start() { 184 void Start() {
187 message_loop_->PostTask( 185 message_loop_->PostTask(
188 FROM_HERE, base::Bind(&TCPChannelTester::DoStart, this)); 186 FROM_HERE, base::Bind(&TCPChannelTester::DoStart, this));
189 } 187 }
190 188
191 void CheckResults() { 189 void CheckResults() {
192 EXPECT_EQ(0, write_errors_); 190 EXPECT_EQ(0, write_errors_);
193 EXPECT_EQ(0, read_errors_); 191 EXPECT_EQ(0, read_errors_);
194 192
195 ASSERT_EQ(kTestDataSize + kMessageSize, input_buffer_->capacity()); 193 ASSERT_EQ(kTestDataSize + kMessageSize, input_buffer_->capacity());
196 194
197 output_buffer_->SetOffset(0); 195 output_buffer_->SetOffset(0);
198 ASSERT_EQ(kTestDataSize, output_buffer_->size()); 196 ASSERT_EQ(kTestDataSize, output_buffer_->size());
199 197
200 EXPECT_EQ(0, memcmp(output_buffer_->data(), 198 EXPECT_EQ(0, memcmp(output_buffer_->data(),
201 input_buffer_->StartOfBuffer(), kTestDataSize)); 199 input_buffer_->StartOfBuffer(), kTestDataSize));
202 } 200 }
203 201
204 protected: 202 protected:
203 virtual ~TCPChannelTester() {}
204
205 void Done() { 205 void Done() {
206 done_ = true; 206 done_ = true;
207 message_loop_->PostTask(FROM_HERE, MessageLoop::QuitClosure()); 207 message_loop_->PostTask(FROM_HERE, MessageLoop::QuitClosure());
208 } 208 }
209 209
210 void DoStart() { 210 void DoStart() {
211 InitBuffers(); 211 InitBuffers();
212 DoRead(); 212 DoRead();
213 DoWrite(); 213 DoWrite();
214 } 214 }
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 } 279 }
280 } else if (result > 0) { 280 } else if (result > 0) {
281 // Allocate memory for the next read. 281 // Allocate memory for the next read.
282 input_buffer_->SetCapacity(input_buffer_->capacity() + result); 282 input_buffer_->SetCapacity(input_buffer_->capacity() + result);
283 if (input_buffer_->capacity() == kTestDataSize + kMessageSize) 283 if (input_buffer_->capacity() == kTestDataSize + kMessageSize)
284 Done(); 284 Done();
285 } 285 }
286 } 286 }
287 287
288 private: 288 private:
289 friend class base::RefCountedThreadSafe<TCPChannelTester>;
290
289 MessageLoop* message_loop_; 291 MessageLoop* message_loop_;
290 net::Socket* host_socket_; 292 net::Socket* host_socket_;
291 net::Socket* client_socket_; 293 net::Socket* client_socket_;
292 bool done_; 294 bool done_;
293 295
294 scoped_refptr<net::DrainableIOBuffer> output_buffer_; 296 scoped_refptr<net::DrainableIOBuffer> output_buffer_;
295 scoped_refptr<net::GrowableIOBuffer> input_buffer_; 297 scoped_refptr<net::GrowableIOBuffer> input_buffer_;
296 298
297 int write_errors_; 299 int write_errors_;
298 int read_errors_; 300 int read_errors_;
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
435 client_pseudotcp_.get()); 437 client_pseudotcp_.get());
436 438
437 tester->Start(); 439 tester->Start();
438 message_loop_.Run(); 440 message_loop_.Run();
439 tester->CheckResults(); 441 tester->CheckResults();
440 } 442 }
441 443
442 } // namespace 444 } // namespace
443 445
444 } // namespace jingle_glue 446 } // namespace jingle_glue
OLDNEW
« no previous file with comments | « jingle/glue/pseudotcp_adapter.cc ('k') | sql/sqlite_features_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698