diff options
Diffstat (limited to 'third_party/mojo/src/mojo/edk/system/local_data_pipe_impl.h')
-rw-r--r-- | third_party/mojo/src/mojo/edk/system/local_data_pipe_impl.h | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/third_party/mojo/src/mojo/edk/system/local_data_pipe_impl.h b/third_party/mojo/src/mojo/edk/system/local_data_pipe_impl.h deleted file mode 100644 index c144204..0000000 --- a/third_party/mojo/src/mojo/edk/system/local_data_pipe_impl.h +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef THIRD_PARTY_MOJO_SRC_MOJO_EDK_SYSTEM_LOCAL_DATA_PIPE_IMPL_H_ -#define THIRD_PARTY_MOJO_SRC_MOJO_EDK_SYSTEM_LOCAL_DATA_PIPE_IMPL_H_ - -#include "base/memory/aligned_memory.h" -#include "base/memory/scoped_ptr.h" -#include "mojo/public/cpp/system/macros.h" -#include "third_party/mojo/src/mojo/edk/system/data_pipe_impl.h" -#include "third_party/mojo/src/mojo/edk/system/system_impl_export.h" - -namespace mojo { -namespace system { - -class MessageInTransitQueue; - -// |LocalDataPipeImpl| is a subclass that "implements" |DataPipe| for data pipes -// whose producer and consumer are both local. See |DataPipeImpl| for more -// details. -class MOJO_SYSTEM_IMPL_EXPORT LocalDataPipeImpl final : public DataPipeImpl { - public: - LocalDataPipeImpl(); - ~LocalDataPipeImpl() override; - - private: - // |DataPipeImpl| implementation: - void ProducerClose() override; - MojoResult ProducerWriteData(UserPointer<const void> elements, - UserPointer<uint32_t> num_bytes, - uint32_t max_num_bytes_to_write, - uint32_t min_num_bytes_to_write) override; - MojoResult ProducerBeginWriteData( - UserPointer<void*> buffer, - UserPointer<uint32_t> buffer_num_bytes) override; - MojoResult ProducerEndWriteData(uint32_t num_bytes_written) override; - HandleSignalsState ProducerGetHandleSignalsState() const override; - void ProducerStartSerialize(Channel* channel, - size_t* max_size, - size_t* max_platform_handles) override; - bool ProducerEndSerialize( - Channel* channel, - void* destination, - size_t* actual_size, - embedder::PlatformHandleVector* platform_handles) override; - void ConsumerClose() override; - MojoResult ConsumerReadData(UserPointer<void> elements, - UserPointer<uint32_t> num_bytes, - uint32_t max_num_bytes_to_read, - uint32_t min_num_bytes_to_read, - bool peek) override; - MojoResult ConsumerDiscardData(UserPointer<uint32_t> num_bytes, - uint32_t max_num_bytes_to_discard, - uint32_t min_num_bytes_to_discard) override; - MojoResult ConsumerQueryData(UserPointer<uint32_t> num_bytes) override; - MojoResult ConsumerBeginReadData( - UserPointer<const void*> buffer, - UserPointer<uint32_t> buffer_num_bytes) override; - MojoResult ConsumerEndReadData(uint32_t num_bytes_read) override; - HandleSignalsState ConsumerGetHandleSignalsState() const override; - void ConsumerStartSerialize(Channel* channel, - size_t* max_size, - size_t* max_platform_handles) override; - bool ConsumerEndSerialize( - Channel* channel, - void* destination, - size_t* actual_size, - embedder::PlatformHandleVector* platform_handles) override; - bool OnReadMessage(unsigned port, MessageInTransit* message) override; - void OnDetachFromChannel(unsigned port) override; - - void EnsureBuffer(); - void DestroyBuffer(); - - // Get the maximum (single) write/read size right now (in number of elements); - // result fits in a |uint32_t|. - size_t GetMaxNumBytesToWrite(); - size_t GetMaxNumBytesToRead(); - - // Marks the given number of bytes as consumed/discarded. |num_bytes| must be - // no greater than |current_num_bytes_|. - void MarkDataAsConsumed(size_t num_bytes); - - scoped_ptr<char, base::AlignedFreeDeleter> buffer_; - // Circular buffer. - size_t start_index_; - size_t current_num_bytes_; - - MOJO_DISALLOW_COPY_AND_ASSIGN(LocalDataPipeImpl); -}; - -} // namespace system -} // namespace mojo - -#endif // THIRD_PARTY_MOJO_SRC_MOJO_EDK_SYSTEM_LOCAL_DATA_PIPE_IMPL_H_ |