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

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

Issue 1526923006: [mojo] Implement data pipe using a shared buffer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 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 | « no previous file | mojo/edk/system/data_pipe.h » ('j') | mojo/edk/system/data_pipe.h » ('J')
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.h" 5 #include "mojo/edk/system/core.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <utility> 10 #include <utility>
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 DCHECK_NE(handle_pair.second, MOJO_HANDLE_INVALID); 468 DCHECK_NE(handle_pair.second, MOJO_HANDLE_INVALID);
469 469
470 ScopedPlatformHandle server_handle, client_handle; 470 ScopedPlatformHandle server_handle, client_handle;
471 #if defined(OS_WIN) 471 #if defined(OS_WIN)
472 internal::g_broker->CreatePlatformChannelPair(&server_handle, &client_handle); 472 internal::g_broker->CreatePlatformChannelPair(&server_handle, &client_handle);
473 #else 473 #else
474 PlatformChannelPair channel_pair; 474 PlatformChannelPair channel_pair;
475 server_handle = channel_pair.PassServerHandle(); 475 server_handle = channel_pair.PassServerHandle();
476 client_handle = channel_pair.PassClientHandle(); 476 client_handle = channel_pair.PassClientHandle();
477 #endif 477 #endif
478 producer_dispatcher->Init(std::move(server_handle), nullptr, 0u); 478 producer_dispatcher->Init(std::move(server_handle), nullptr, 0u, nullptr, 0u,
479 consumer_dispatcher->Init(std::move(client_handle), nullptr, 0u); 479 ScopedPlatformHandle(), 0, 0);
480 consumer_dispatcher->Init(std::move(client_handle), nullptr, 0u, nullptr, 0u,
481 ScopedPlatformHandle(), 0, 0);
480 482
481 *data_pipe_producer_handle = handle_pair.first; 483 *data_pipe_producer_handle = handle_pair.first;
482 *data_pipe_consumer_handle = handle_pair.second; 484 *data_pipe_consumer_handle = handle_pair.second;
483 return MOJO_RESULT_OK; 485 return MOJO_RESULT_OK;
484 } 486 }
485 487
486 MojoResult Core::WriteData(MojoHandle data_pipe_producer_handle, 488 MojoResult Core::WriteData(MojoHandle data_pipe_producer_handle,
487 const void* elements, 489 const void* elements,
488 uint32_t* num_bytes, 490 uint32_t* num_bytes,
489 MojoWriteDataFlags flags) { 491 MojoWriteDataFlags flags) {
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
700 if (signals_states) { 702 if (signals_states) {
701 for (; i < num_handles; i++) 703 for (; i < num_handles; i++)
702 signals_states[i] = dispatchers[i]->GetHandleSignalsState(); 704 signals_states[i] = dispatchers[i]->GetHandleSignalsState();
703 } 705 }
704 706
705 return rv; 707 return rv;
706 } 708 }
707 709
708 } // namespace edk 710 } // namespace edk
709 } // namespace mojo 711 } // namespace mojo
OLDNEW
« no previous file with comments | « no previous file | mojo/edk/system/data_pipe.h » ('j') | mojo/edk/system/data_pipe.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698