| 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 #ifndef MOJO_EDK_SYSTEM_DATA_PIPE_H_ | 5 #ifndef MOJO_EDK_SYSTEM_DATA_PIPE_H_ |
| 6 #define MOJO_EDK_SYSTEM_DATA_PIPE_H_ | 6 #define MOJO_EDK_SYSTEM_DATA_PIPE_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 bool ConsumerIsBusy() const; | 109 bool ConsumerIsBusy() const; |
| 110 | 110 |
| 111 protected: | 111 protected: |
| 112 DataPipe(bool has_local_producer, | 112 DataPipe(bool has_local_producer, |
| 113 bool has_local_consumer, | 113 bool has_local_consumer, |
| 114 const MojoCreateDataPipeOptions& validated_options); | 114 const MojoCreateDataPipeOptions& validated_options); |
| 115 | 115 |
| 116 friend class base::RefCountedThreadSafe<DataPipe>; | 116 friend class base::RefCountedThreadSafe<DataPipe>; |
| 117 virtual ~DataPipe(); | 117 virtual ~DataPipe(); |
| 118 | 118 |
| 119 void ProducerCloseNoLock(); |
| 120 void ConsumerCloseNoLock(); |
| 121 |
| 119 virtual void ProducerCloseImplNoLock() = 0; | 122 virtual void ProducerCloseImplNoLock() = 0; |
| 120 // |num_bytes.Get()| will be a nonzero multiple of |element_num_bytes_|. | 123 // |num_bytes.Get()| will be a nonzero multiple of |element_num_bytes_|. |
| 121 virtual MojoResult ProducerWriteDataImplNoLock( | 124 virtual MojoResult ProducerWriteDataImplNoLock( |
| 122 UserPointer<const void> elements, | 125 UserPointer<const void> elements, |
| 123 UserPointer<uint32_t> num_bytes, | 126 UserPointer<uint32_t> num_bytes, |
| 124 uint32_t max_num_bytes_to_write, | 127 uint32_t max_num_bytes_to_write, |
| 125 uint32_t min_num_bytes_to_write) = 0; | 128 uint32_t min_num_bytes_to_write) = 0; |
| 126 virtual MojoResult ProducerBeginWriteDataImplNoLock( | 129 virtual MojoResult ProducerBeginWriteDataImplNoLock( |
| 127 UserPointer<void*> buffer, | 130 UserPointer<void*> buffer, |
| 128 UserPointer<uint32_t> buffer_num_bytes, | 131 UserPointer<uint32_t> buffer_num_bytes, |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 uint32_t producer_two_phase_max_num_bytes_written_; | 247 uint32_t producer_two_phase_max_num_bytes_written_; |
| 245 uint32_t consumer_two_phase_max_num_bytes_read_; | 248 uint32_t consumer_two_phase_max_num_bytes_read_; |
| 246 | 249 |
| 247 DISALLOW_COPY_AND_ASSIGN(DataPipe); | 250 DISALLOW_COPY_AND_ASSIGN(DataPipe); |
| 248 }; | 251 }; |
| 249 | 252 |
| 250 } // namespace system | 253 } // namespace system |
| 251 } // namespace mojo | 254 } // namespace mojo |
| 252 | 255 |
| 253 #endif // MOJO_EDK_SYSTEM_DATA_PIPE_H_ | 256 #endif // MOJO_EDK_SYSTEM_DATA_PIPE_H_ |
| OLD | NEW |