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

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

Issue 2084593005: Rationalize AddAwakable...() and RemoveAwakable...() methods. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: doh Created 4 years, 6 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 | « mojo/edk/system/core_test_base.h ('k') | mojo/edk/system/data_pipe.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "mojo/edk/system/core_test_base.h" 5 #include "mojo/edk/system/core_test_base.h"
6 6
7 #include <utility> 7 #include <utility>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 uint64_t /*num_bytes*/, 164 uint64_t /*num_bytes*/,
165 MojoMapBufferFlags /*flags*/, 165 MojoMapBufferFlags /*flags*/,
166 std::unique_ptr<platform::PlatformSharedBufferMapping>* /*mapping*/) 166 std::unique_ptr<platform::PlatformSharedBufferMapping>* /*mapping*/)
167 override { 167 override {
168 info_->IncrementMapBufferCallCount(); 168 info_->IncrementMapBufferCallCount();
169 mutex().AssertHeld(); 169 mutex().AssertHeld();
170 return MOJO_RESULT_UNIMPLEMENTED; 170 return MOJO_RESULT_UNIMPLEMENTED;
171 } 171 }
172 172
173 MojoResult AddAwakableImplNoLock(Awakable* awakable, 173 MojoResult AddAwakableImplNoLock(Awakable* awakable,
174 uint64_t /*context*/,
175 bool /*force*/,
174 MojoHandleSignals /*signals*/, 176 MojoHandleSignals /*signals*/,
175 bool /*force*/,
176 uint64_t /*context*/,
177 HandleSignalsState* signals_state) override { 177 HandleSignalsState* signals_state) override {
178 info_->IncrementAddAwakableCallCount(); 178 info_->IncrementAddAwakableCallCount();
179 mutex().AssertHeld(); 179 mutex().AssertHeld();
180 if (signals_state) 180 if (signals_state)
181 *signals_state = HandleSignalsState(); 181 *signals_state = HandleSignalsState();
182 if (info_->IsAddAwakableAllowed()) { 182 if (info_->IsAddAwakableAllowed()) {
183 info_->AwakableWasAdded(awakable); 183 info_->AwakableWasAdded(awakable);
184 return MOJO_RESULT_OK; 184 return MOJO_RESULT_OK;
185 } 185 }
186 186
187 return MOJO_RESULT_FAILED_PRECONDITION; 187 return MOJO_RESULT_FAILED_PRECONDITION;
188 } 188 }
189 189
190 void RemoveAwakableImplNoLock(Awakable* /*awakable*/, 190 void RemoveAwakableImplNoLock(bool /*match_context*/,
191 Awakable* /*awakable*/,
192 uint64_t /*context*/,
191 HandleSignalsState* signals_state) override { 193 HandleSignalsState* signals_state) override {
192 info_->IncrementRemoveAwakableCallCount(); 194 info_->IncrementRemoveAwakableCallCount();
193 mutex().AssertHeld(); 195 mutex().AssertHeld();
194 if (signals_state) 196 if (signals_state)
195 *signals_state = HandleSignalsState(); 197 *signals_state = HandleSignalsState();
196 } 198 }
197 199
198 void RemoveAwakableWithContextImplNoLock(
199 Awakable* /*awakable*/,
200 uint64_t /*context*/,
201 HandleSignalsState* signals_state) override {
202 info_->IncrementRemoveAwakableWithContextCallCount();
203 mutex().AssertHeld();
204 if (signals_state)
205 *signals_state = HandleSignalsState();
206 }
207
208 void CancelAllStateNoLock() override { 200 void CancelAllStateNoLock() override {
209 info_->IncrementCancelAllStateCallCount(); 201 info_->IncrementCancelAllStateCallCount();
210 mutex().AssertHeld(); 202 mutex().AssertHeld();
211 } 203 }
212 204
213 RefPtr<Dispatcher> CreateEquivalentDispatcherAndCloseImplNoLock( 205 RefPtr<Dispatcher> CreateEquivalentDispatcherAndCloseImplNoLock(
214 MessagePipe* /*message_pipe*/, 206 MessagePipe* /*message_pipe*/,
215 unsigned /*port*/) override { 207 unsigned /*port*/) override {
216 CancelAllStateNoLock(); 208 CancelAllStateNoLock();
217 return Create(info_); 209 return Create(info_);
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 unsigned CoreTestBase_MockHandleInfo::GetAddAwakableCallCount() const { 335 unsigned CoreTestBase_MockHandleInfo::GetAddAwakableCallCount() const {
344 MutexLocker locker(&mutex_); 336 MutexLocker locker(&mutex_);
345 return add_awakable_call_count_; 337 return add_awakable_call_count_;
346 } 338 }
347 339
348 unsigned CoreTestBase_MockHandleInfo::GetRemoveAwakableCallCount() const { 340 unsigned CoreTestBase_MockHandleInfo::GetRemoveAwakableCallCount() const {
349 MutexLocker locker(&mutex_); 341 MutexLocker locker(&mutex_);
350 return remove_awakable_call_count_; 342 return remove_awakable_call_count_;
351 } 343 }
352 344
353 unsigned CoreTestBase_MockHandleInfo::GetRemoveAwakableWithContextCallCount()
354 const {
355 MutexLocker locker(&mutex_);
356 return remove_awakable_with_context_call_count_;
357 }
358
359 unsigned CoreTestBase_MockHandleInfo::GetCancelAllStateCallCount() const { 345 unsigned CoreTestBase_MockHandleInfo::GetCancelAllStateCallCount() const {
360 MutexLocker locker(&mutex_); 346 MutexLocker locker(&mutex_);
361 return cancel_all_awakables_call_count_; 347 return cancel_all_awakables_call_count_;
362 } 348 }
363 349
364 size_t CoreTestBase_MockHandleInfo::GetAddedAwakableSize() const { 350 size_t CoreTestBase_MockHandleInfo::GetAddedAwakableSize() const {
365 MutexLocker locker(&mutex_); 351 MutexLocker locker(&mutex_);
366 return added_awakables_.size(); 352 return added_awakables_.size();
367 } 353 }
368 354
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 void CoreTestBase_MockHandleInfo::IncrementAddAwakableCallCount() { 435 void CoreTestBase_MockHandleInfo::IncrementAddAwakableCallCount() {
450 MutexLocker locker(&mutex_); 436 MutexLocker locker(&mutex_);
451 add_awakable_call_count_++; 437 add_awakable_call_count_++;
452 } 438 }
453 439
454 void CoreTestBase_MockHandleInfo::IncrementRemoveAwakableCallCount() { 440 void CoreTestBase_MockHandleInfo::IncrementRemoveAwakableCallCount() {
455 MutexLocker locker(&mutex_); 441 MutexLocker locker(&mutex_);
456 remove_awakable_call_count_++; 442 remove_awakable_call_count_++;
457 } 443 }
458 444
459 void CoreTestBase_MockHandleInfo::
460 IncrementRemoveAwakableWithContextCallCount() {
461 MutexLocker locker(&mutex_);
462 remove_awakable_with_context_call_count_++;
463 }
464
465 void CoreTestBase_MockHandleInfo::IncrementCancelAllStateCallCount() { 445 void CoreTestBase_MockHandleInfo::IncrementCancelAllStateCallCount() {
466 MutexLocker locker(&mutex_); 446 MutexLocker locker(&mutex_);
467 cancel_all_awakables_call_count_++; 447 cancel_all_awakables_call_count_++;
468 } 448 }
469 449
470 void CoreTestBase_MockHandleInfo::AllowAddAwakable(bool alllow) { 450 void CoreTestBase_MockHandleInfo::AllowAddAwakable(bool alllow) {
471 MutexLocker locker(&mutex_); 451 MutexLocker locker(&mutex_);
472 add_awakable_allowed_ = alllow; 452 add_awakable_allowed_ = alllow;
473 } 453 }
474 454
475 bool CoreTestBase_MockHandleInfo::IsAddAwakableAllowed() const { 455 bool CoreTestBase_MockHandleInfo::IsAddAwakableAllowed() const {
476 MutexLocker locker(&mutex_); 456 MutexLocker locker(&mutex_);
477 return add_awakable_allowed_; 457 return add_awakable_allowed_;
478 } 458 }
479 459
480 void CoreTestBase_MockHandleInfo::AwakableWasAdded(Awakable* awakable) { 460 void CoreTestBase_MockHandleInfo::AwakableWasAdded(Awakable* awakable) {
481 MutexLocker locker(&mutex_); 461 MutexLocker locker(&mutex_);
482 added_awakables_.push_back(awakable); 462 added_awakables_.push_back(awakable);
483 } 463 }
484 464
485 } // namespace test 465 } // namespace test
486 } // namespace system 466 } // namespace system
487 } // namespace mojo 467 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/edk/system/core_test_base.h ('k') | mojo/edk/system/data_pipe.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698