Index: third_party/mojo/src/mojo/edk/system/data_pipe_consumer_dispatcher.cc |
diff --git a/third_party/mojo/src/mojo/edk/system/data_pipe_consumer_dispatcher.cc b/third_party/mojo/src/mojo/edk/system/data_pipe_consumer_dispatcher.cc |
index 21127c62fce6be0ff95153b3ab5b0cd3b9c77570..65ec8ef55e344b0c9e0ee778d26f3d2faa276c32 100644 |
--- a/third_party/mojo/src/mojo/edk/system/data_pipe_consumer_dispatcher.cc |
+++ b/third_party/mojo/src/mojo/edk/system/data_pipe_consumer_dispatcher.cc |
@@ -126,6 +126,27 @@ void DataPipeConsumerDispatcher::RemoveAwakableImplNoLock( |
data_pipe_->ConsumerRemoveAwakable(awakable, signals_state); |
} |
+void DataPipeConsumerDispatcher::StartSerializeImplNoLock( |
+ Channel* channel, |
+ size_t* max_size, |
+ size_t* max_platform_handles) { |
+ DCHECK(HasOneRef()); // Only one ref => no need to take the lock. |
+ data_pipe_->ConsumerStartSerialize(channel, max_size, max_platform_handles); |
+} |
+ |
+bool DataPipeConsumerDispatcher::EndSerializeAndCloseImplNoLock( |
+ Channel* channel, |
+ void* destination, |
+ size_t* actual_size, |
+ embedder::PlatformHandleVector* platform_handles) { |
+ DCHECK(HasOneRef()); // Only one ref => no need to take the lock. |
+ |
+ bool rv = data_pipe_->ConsumerEndSerialize(channel, destination, actual_size, |
+ platform_handles); |
+ data_pipe_ = nullptr; |
+ return rv; |
+} |
+ |
bool DataPipeConsumerDispatcher::IsBusyNoLock() const { |
lock().AssertAcquired(); |
return data_pipe_->ConsumerIsBusy(); |