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

Side by Side Diff: mojo/edk/system/data_pipe_impl_unittest.cc

Issue 1396783004: Convert mojo::system::ChannelEndpointClient to use our new refcounting stuff (instead of base's). (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 2 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 // This file contains tests that are shared between different implementations of 5 // This file contains tests that are shared between different implementations of
6 // |DataPipeImpl|. 6 // |DataPipeImpl|.
7 7
8 #include "mojo/edk/system/data_pipe_impl.h" 8 #include "mojo/edk/system/data_pipe_impl.h"
9 9
10 #include <stdint.h> 10 #include <stdint.h>
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 void DoTransfer() override {} 206 void DoTransfer() override {}
207 207
208 // Returns the |DataPipe| object for the producer and consumer, respectively. 208 // Returns the |DataPipe| object for the producer and consumer, respectively.
209 DataPipe* DataPipeForProducer() override { return dp_.get(); } 209 DataPipe* DataPipeForProducer() override { return dp_.get(); }
210 DataPipe* DataPipeForConsumer() override { return dp_.get(); } 210 DataPipe* DataPipeForConsumer() override { return dp_.get(); }
211 211
212 void ProducerClose() override { dp_->ProducerClose(); } 212 void ProducerClose() override { dp_->ProducerClose(); }
213 void ConsumerClose() override { dp_->ConsumerClose(); } 213 void ConsumerClose() override { dp_->ConsumerClose(); }
214 214
215 private: 215 private:
216 scoped_refptr<DataPipe> dp_; 216 RefPtr<DataPipe> dp_;
217 217
218 MOJO_DISALLOW_COPY_AND_ASSIGN(LocalDataPipeImplTestHelper); 218 MOJO_DISALLOW_COPY_AND_ASSIGN(LocalDataPipeImplTestHelper);
219 }; 219 };
220 220
221 // RemoteDataPipeImplTestHelper ------------------------------------------------ 221 // RemoteDataPipeImplTestHelper ------------------------------------------------
222 222
223 // Base class for |Remote{Producer,Consumer}DataPipeImplTestHelper|. 223 // Base class for |Remote{Producer,Consumer}DataPipeImplTestHelper|.
224 class RemoteDataPipeImplTestHelper : public DataPipeImplTestHelper { 224 class RemoteDataPipeImplTestHelper : public DataPipeImplTestHelper {
225 public: 225 public:
226 RemoteDataPipeImplTestHelper() 226 RemoteDataPipeImplTestHelper()
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 &read_num_dispatchers, MOJO_READ_MESSAGE_FLAG_NONE)); 299 &read_num_dispatchers, MOJO_READ_MESSAGE_FLAG_NONE));
300 EXPECT_EQ(0u, static_cast<size_t>(read_buffer_size)); 300 EXPECT_EQ(0u, static_cast<size_t>(read_buffer_size));
301 ASSERT_EQ(1u, read_dispatchers.size()); 301 ASSERT_EQ(1u, read_dispatchers.size());
302 ASSERT_EQ(1u, read_num_dispatchers); 302 ASSERT_EQ(1u, read_num_dispatchers);
303 ASSERT_TRUE(read_dispatchers[0]); 303 ASSERT_TRUE(read_dispatchers[0]);
304 EXPECT_TRUE(read_dispatchers[0]->HasOneRef()); 304 EXPECT_TRUE(read_dispatchers[0]->HasOneRef());
305 305
306 *to_receive = read_dispatchers[0]; 306 *to_receive = read_dispatchers[0];
307 } 307 }
308 308
309 scoped_refptr<MessagePipe> message_pipe(size_t i) { 309 RefPtr<MessagePipe> message_pipe(size_t i) { return message_pipes_[i]; }
310 return message_pipes_[i]; 310 RefPtr<DataPipe> dp() { return dp_; }
311 }
312 scoped_refptr<DataPipe> dp() { return dp_; }
313 311
314 private: 312 private:
315 void EnsureMessagePipeClosed(size_t i) { 313 void EnsureMessagePipeClosed(size_t i) {
316 if (!message_pipes_[i]) 314 if (!message_pipes_[i])
317 return; 315 return;
318 message_pipes_[i]->Close(0); 316 message_pipes_[i]->Close(0);
319 message_pipes_[i] = nullptr; 317 message_pipes_[i] = nullptr;
320 } 318 }
321 319
322 // TODO(vtl): The arguments should be rvalue references, but that doesn't 320 // TODO(vtl): The arguments should be rvalue references, but that doesn't
(...skipping 20 matching lines...) Expand all
343 } 341 }
344 if (channels_[1]) { 342 if (channels_[1]) {
345 channels_[1]->Shutdown(); 343 channels_[1]->Shutdown();
346 channels_[1] = nullptr; 344 channels_[1] = nullptr;
347 } 345 }
348 } 346 }
349 347
350 embedder::SimplePlatformSupport platform_support_; 348 embedder::SimplePlatformSupport platform_support_;
351 mojo::test::TestIOThread io_thread_; 349 mojo::test::TestIOThread io_thread_;
352 RefPtr<Channel> channels_[2]; 350 RefPtr<Channel> channels_[2];
353 scoped_refptr<MessagePipe> message_pipes_[2]; 351 RefPtr<MessagePipe> message_pipes_[2];
354 352
355 scoped_refptr<DataPipe> dp_; 353 RefPtr<DataPipe> dp_;
356 354
357 MOJO_DISALLOW_COPY_AND_ASSIGN(RemoteDataPipeImplTestHelper); 355 MOJO_DISALLOW_COPY_AND_ASSIGN(RemoteDataPipeImplTestHelper);
358 }; 356 };
359 357
360 // RemoteProducerDataPipeImplTestHelper ---------------------------------------- 358 // RemoteProducerDataPipeImplTestHelper ----------------------------------------
361 359
362 // Note about naming confusion: This class is named after the "local" class, 360 // Note about naming confusion: This class is named after the "local" class,
363 // i.e., |dp_| will have a |RemoteProducerDataPipeImpl|. The remote side, of 361 // i.e., |dp_| will have a |RemoteProducerDataPipeImpl|. The remote side, of
364 // course, will have a |RemoteConsumerDataPipeImpl|. 362 // course, will have a |RemoteConsumerDataPipeImpl|.
365 class RemoteProducerDataPipeImplTestHelper 363 class RemoteProducerDataPipeImplTestHelper
(...skipping 2131 matching lines...) Expand 10 before | Expand all | Expand 10 after
2497 test::Sleep(10u); 2495 test::Sleep(10u);
2498 2496
2499 EXPECT_EQ(MOJO_RESULT_OK, this->ConsumerEndReadData(num_bytes)); 2497 EXPECT_EQ(MOJO_RESULT_OK, this->ConsumerEndReadData(num_bytes));
2500 2498
2501 this->ConsumerClose(); 2499 this->ConsumerClose();
2502 } 2500 }
2503 2501
2504 } // namespace 2502 } // namespace
2505 } // namespace system 2503 } // namespace system
2506 } // namespace mojo 2504 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/edk/system/data_pipe_consumer_dispatcher.cc ('k') | mojo/edk/system/data_pipe_producer_dispatcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698