diff options
author | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-18 17:36:10 +0000 |
---|---|---|
committer | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-18 17:36:10 +0000 |
commit | f0f41e9dbcbdd6e6d3990ecd689e89c5eec5b611 (patch) | |
tree | 3bc8b298bbdcc60563dc520018f7b5aaf2843efc /mojo/system/local_data_pipe.h | |
parent | 86cb2c35ece1ab5fdd4f4990e1e14b1ddfc00e6e (diff) | |
download | chromium_src-f0f41e9dbcbdd6e6d3990ecd689e89c5eec5b611.zip chromium_src-f0f41e9dbcbdd6e6d3990ecd689e89c5eec5b611.tar.gz chromium_src-f0f41e9dbcbdd6e6d3990ecd689e89c5eec5b611.tar.bz2 |
Mojo: Beginnings of (local) data pipe tests + more refactoring.
Make the DataPipe methods not take |flags|, to make it more obvious that
dealing with/validating |flags| is the responsibility of the caller.
Also split ConsumerReadData into three methods (read/discard/query),
which parallels what the implementation subclass already had.
R=sky@chromium.org
Review URL: https://codereview.chromium.org/117763003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241585 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'mojo/system/local_data_pipe.h')
-rw-r--r-- | mojo/system/local_data_pipe.h | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/mojo/system/local_data_pipe.h b/mojo/system/local_data_pipe.h index 74ef6ce..9da8895 100644 --- a/mojo/system/local_data_pipe.h +++ b/mojo/system/local_data_pipe.h @@ -20,6 +20,9 @@ namespace system { // protection provided by |DataPipe|'s |lock_|. class MOJO_SYSTEM_IMPL_EXPORT LocalDataPipe : public DataPipe { public: + // |validated_options| should be the output of |DataPipe::ValidateOptions()|. + // In particular: |struct_size| is ignored (so |validated_options| must be the + // current version of the struct) and |capacity_num_bytes| must be nonzero. explicit LocalDataPipe(const MojoCreateDataPipeOptions& validated_options); private: @@ -28,30 +31,27 @@ class MOJO_SYSTEM_IMPL_EXPORT LocalDataPipe : public DataPipe { // |DataPipe| implementation: virtual void ProducerCloseImplNoLock() OVERRIDE; - virtual MojoResult ProducerWriteDataImplNoLock( - const void* elements, - uint32_t* num_bytes, - MojoWriteDataFlags flags) OVERRIDE; + virtual MojoResult ProducerWriteDataImplNoLock(const void* elements, + uint32_t* num_bytes, + bool all_or_none) OVERRIDE; virtual MojoResult ProducerBeginWriteDataImplNoLock( void** buffer, uint32_t* buffer_num_bytes, - MojoWriteDataFlags flags) OVERRIDE; + bool all_or_none) OVERRIDE; virtual MojoResult ProducerEndWriteDataImplNoLock( uint32_t num_bytes_written) OVERRIDE; virtual MojoWaitFlags ProducerSatisfiedFlagsNoLock() OVERRIDE; virtual MojoWaitFlags ProducerSatisfiableFlagsNoLock() OVERRIDE; virtual void ConsumerCloseImplNoLock() OVERRIDE; - virtual MojoResult ConsumerReadDataImplNoLock( - void* elements, - uint32_t* num_bytes, - MojoReadDataFlags flags) OVERRIDE; - virtual MojoResult ConsumerDiscardDataNoLock(uint32_t* num_bytes, - bool all_or_none) OVERRIDE; - virtual MojoResult ConsumerQueryDataNoLock(uint32_t* num_bytes) OVERRIDE; - virtual MojoResult ConsumerBeginReadDataImplNoLock( - const void** buffer, - uint32_t* buffer_num_bytes, - MojoReadDataFlags flags) OVERRIDE; + virtual MojoResult ConsumerReadDataImplNoLock(void* elements, + uint32_t* num_bytes, + bool all_or_none) OVERRIDE; + virtual MojoResult ConsumerDiscardDataImplNoLock(uint32_t* num_bytes, + bool all_or_none) OVERRIDE; + virtual MojoResult ConsumerQueryDataImplNoLock(uint32_t* num_bytes) OVERRIDE; + virtual MojoResult ConsumerBeginReadDataImplNoLock(const void** buffer, + uint32_t* buffer_num_bytes, + bool all_or_none) OVERRIDE; virtual MojoResult ConsumerEndReadDataImplNoLock( uint32_t num_bytes_read) OVERRIDE; virtual MojoWaitFlags ConsumerSatisfiedFlagsNoLock() OVERRIDE; |