summaryrefslogtreecommitdiffstats
path: root/mojo/system/local_data_pipe.h
diff options
context:
space:
mode:
authorviettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-18 17:36:10 +0000
committerviettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-18 17:36:10 +0000
commitf0f41e9dbcbdd6e6d3990ecd689e89c5eec5b611 (patch)
tree3bc8b298bbdcc60563dc520018f7b5aaf2843efc /mojo/system/local_data_pipe.h
parent86cb2c35ece1ab5fdd4f4990e1e14b1ddfc00e6e (diff)
downloadchromium_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.h32
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;