| 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 #include "mojo/edk/system/data_pipe_producer_dispatcher.h" | 5 #include "mojo/edk/system/data_pipe_producer_dispatcher.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 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 378 NodeController* node_controller = internal::g_core->GetNodeController(); | 378 NodeController* node_controller = internal::g_core->GetNodeController(); |
| 379 ports::PortRef port; | 379 ports::PortRef port; |
| 380 if (node_controller->node()->GetPort(ports[0], &port) != ports::OK) | 380 if (node_controller->node()->GetPort(ports[0], &port) != ports::OK) |
| 381 return nullptr; | 381 return nullptr; |
| 382 | 382 |
| 383 PlatformHandle buffer_handle; | 383 PlatformHandle buffer_handle; |
| 384 std::swap(buffer_handle, handles[0]); | 384 std::swap(buffer_handle, handles[0]); |
| 385 scoped_refptr<PlatformSharedBuffer> ring_buffer = | 385 scoped_refptr<PlatformSharedBuffer> ring_buffer = |
| 386 PlatformSharedBuffer::CreateFromPlatformHandle( | 386 PlatformSharedBuffer::CreateFromPlatformHandle( |
| 387 state->options.capacity_num_bytes, | 387 state->options.capacity_num_bytes, |
| 388 false /* read_only */, |
| 388 ScopedPlatformHandle(buffer_handle)); | 389 ScopedPlatformHandle(buffer_handle)); |
| 389 if (!ring_buffer) { | 390 if (!ring_buffer) { |
| 390 DLOG(ERROR) << "Failed to deserialize shared buffer handle."; | 391 DLOG(ERROR) << "Failed to deserialize shared buffer handle."; |
| 391 return nullptr; | 392 return nullptr; |
| 392 } | 393 } |
| 393 | 394 |
| 394 scoped_refptr<DataPipeProducerDispatcher> dispatcher = | 395 scoped_refptr<DataPipeProducerDispatcher> dispatcher = |
| 395 new DataPipeProducerDispatcher(node_controller, port, ring_buffer, | 396 new DataPipeProducerDispatcher(node_controller, port, ring_buffer, |
| 396 state->options, false /* initialized */, | 397 state->options, false /* initialized */, |
| 397 state->pipe_id); | 398 state->pipe_id); |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 539 } | 540 } |
| 540 | 541 |
| 541 if (peer_closed_ != was_peer_closed || | 542 if (peer_closed_ != was_peer_closed || |
| 542 available_capacity_ != previous_capacity) { | 543 available_capacity_ != previous_capacity) { |
| 543 awakable_list_.AwakeForStateChange(GetHandleSignalsStateNoLock()); | 544 awakable_list_.AwakeForStateChange(GetHandleSignalsStateNoLock()); |
| 544 } | 545 } |
| 545 } | 546 } |
| 546 | 547 |
| 547 } // namespace edk | 548 } // namespace edk |
| 548 } // namespace mojo | 549 } // namespace mojo |
| OLD | NEW |