OLD | NEW |
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 // This tests the performance of the C API. | 5 // This tests the performance of the C API. |
6 | 6 |
7 #include "mojo/public/c/system/core.h" | 7 #include "mojo/public/c/system/core.h" |
8 | 8 |
9 #include <assert.h> | 9 #include <assert.h> |
10 #include <stddef.h> | 10 #include <stddef.h> |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 for (;;) { | 75 for (;;) { |
76 uint32_t num_bytes = static_cast<uint32_t>(sizeof(buffer)); | 76 uint32_t num_bytes = static_cast<uint32_t>(sizeof(buffer)); |
77 MojoResult result = MojoReadMessage( | 77 MojoResult result = MojoReadMessage( |
78 handle_, buffer, &num_bytes, NULL, NULL, MOJO_READ_MESSAGE_FLAG_NONE); | 78 handle_, buffer, &num_bytes, NULL, NULL, MOJO_READ_MESSAGE_FLAG_NONE); |
79 if (result == MOJO_RESULT_OK) { | 79 if (result == MOJO_RESULT_OK) { |
80 num_reads_++; | 80 num_reads_++; |
81 continue; | 81 continue; |
82 } | 82 } |
83 | 83 |
84 if (result == MOJO_RESULT_SHOULD_WAIT) { | 84 if (result == MOJO_RESULT_SHOULD_WAIT) { |
85 result = MojoWait( | 85 result = MojoWait(handle_, MOJO_HANDLE_SIGNAL_READABLE, |
86 handle_, MOJO_HANDLE_SIGNAL_READABLE, MOJO_DEADLINE_INDEFINITE); | 86 MOJO_DEADLINE_INDEFINITE, nullptr); |
87 if (result == MOJO_RESULT_OK) { | 87 if (result == MOJO_RESULT_OK) { |
88 // Go to the top of the loop to read again. | 88 // Go to the top of the loop to read again. |
89 continue; | 89 continue; |
90 } | 90 } |
91 } | 91 } |
92 | 92 |
93 // We failed to read and possibly failed to wait. | 93 // We failed to read and possibly failed to wait. |
94 // Either |handle_| or its peer was closed. | 94 // Either |handle_| or its peer was closed. |
95 assert(result == MOJO_RESULT_INVALID_ARGUMENT || | 95 assert(result == MOJO_RESULT_INVALID_ARGUMENT || |
96 result == MOJO_RESULT_FAILED_PRECONDITION); | 96 result == MOJO_RESULT_FAILED_PRECONDITION); |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 DoMessagePipeThreadedTest(1u, 1u, 10000u); | 316 DoMessagePipeThreadedTest(1u, 1u, 10000u); |
317 | 317 |
318 DoMessagePipeThreadedTest(3u, 3u, 10u); | 318 DoMessagePipeThreadedTest(3u, 3u, 10u); |
319 // 100 was done above. | 319 // 100 was done above. |
320 DoMessagePipeThreadedTest(3u, 3u, 1000u); | 320 DoMessagePipeThreadedTest(3u, 3u, 1000u); |
321 DoMessagePipeThreadedTest(3u, 3u, 10000u); | 321 DoMessagePipeThreadedTest(3u, 3u, 10000u); |
322 } | 322 } |
323 #endif // !defined(WIN32) | 323 #endif // !defined(WIN32) |
324 | 324 |
325 } // namespace | 325 } // namespace |
OLD | NEW |