Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1167)

Unified Diff: mojo/public/c/include/mojo/system/wait_set.h

Issue 2250183003: Make the fuchsia mojo/public repo the source of truth. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/public/c/include/mojo/system/wait.h ('k') | mojo/public/c/lib/bindings/array.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/public/c/include/mojo/system/wait_set.h
diff --git a/mojo/public/c/include/mojo/system/wait_set.h b/mojo/public/c/include/mojo/system/wait_set.h
deleted file mode 100644
index 74c228532158206a9739ff531a98dd122751121c..0000000000000000000000000000000000000000
--- a/mojo/public/c/include/mojo/system/wait_set.h
+++ /dev/null
@@ -1,190 +0,0 @@
-// Copyright 2016 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.
-
-// This file contains functions for waiting on multiple handles using wait sets.
-//
-// Note: This header should be compilable as C.
-
-#ifndef MOJO_PUBLIC_C_INCLUDE_MOJO_SYSTEM_WAIT_SET_H_
-#define MOJO_PUBLIC_C_INCLUDE_MOJO_SYSTEM_WAIT_SET_H_
-
-#include <mojo/macros.h>
-#include <mojo/result.h>
-#include <mojo/system/handle.h>
-#include <mojo/system/time.h>
-#include <stdint.h>
-
-// |MojoCreateWaitSetOptions|: Used to specify creation parameters for a wait
-// set to |MojoCreateWaitSet()|.
-// |uint32_t struct_size|: Set to the size of the |MojoCreateWaitSetOptions|
-// struct. (Used to allow for future extensions.)
-// |MojoCreateWaitSetOptionsFlags flags|: Reserved for future use
-// |MOJO_CREATE_WAIT_SET_OPTIONS_FLAGS_NONE|: No flags, default mode.
-
-typedef uint32_t MojoCreateWaitSetOptionsFlags;
-
-#define MOJO_CREATE_WAIT_SET_OPTIONS_FLAG_NONE \
- ((MojoCreateWaitSetOptionsFlags)0)
-
-struct MOJO_ALIGNAS(8) MojoCreateWaitSetOptions {
- uint32_t struct_size;
- MojoCreateWaitSetOptionsFlags flags;
-};
-MOJO_STATIC_ASSERT(sizeof(struct MojoCreateWaitSetOptions) == 8,
- "MojoCreateWaitSetOptions has wrong size");
-
-// |MojoWaitSetAddOptions|: Used to specify parameters in adding an entry to a
-// wait set with |MojoWaitSetAdd()|.
-// |uint32_t struct_size|: Set to the size of the |MojoWaitSetAddOptions|
-// struct. (Used to allow for future extensions.)
-// |MojoWaitSetAddOptionsFlags flags|: Reserved for future use.
-// |MOJO_WAIT_SET_ADD_OPTIONS_FLAGS_NONE|: No flags, default mode.
-
-typedef uint32_t MojoWaitSetAddOptionsFlags;
-
-#define MOJO_WAIT_SET_ADD_OPTIONS_FLAG_NONE ((MojoWaitSetAddOptionsFlags)0)
-
-struct MOJO_ALIGNAS(8) MojoWaitSetAddOptions {
- uint32_t struct_size;
- MojoWaitSetAddOptionsFlags flags;
-};
-MOJO_STATIC_ASSERT(sizeof(struct MojoWaitSetAddOptions) == 8,
- "MojoWaitSetAddOptions has wrong size");
-
-// |MojoWaitSetResult|: Returned by |MojoWaitSetWait()| to indicate the state of
-// entries. See |MojoWaitSetWait()| for the values of these fields.
-
-struct MOJO_ALIGNAS(8) MojoWaitSetResult {
- uint64_t cookie;
- MojoResult wait_result;
- uint32_t reserved;
- struct MojoHandleSignalsState signals_state;
-};
-MOJO_STATIC_ASSERT(sizeof(struct MojoWaitSetResult) == 24,
- "MojoWaitSetResult has wrong size");
-
-MOJO_BEGIN_EXTERN_C
-
-// |MojoCreateWaitSet()|: Creates a new wait set.
-//
-// A wait set is an object that can be used to wait for a set of handles to
-// satisfy some set of signals simultaneously.
-//
-// If |options| is null, the default options will be used.
-//
-// Returns:
-// |MOJO_RESULT_OK| if a wait set was successfully created. On success,
-// |*handle| will be the handle of the wait set.
-// |MOJO_RESULT_INVALID_ARGUMENT| if some argument was invalid (e.g.,
-// |options| is non null and |*options| is invalid).
-// |MOJO_RESULT_RESOURCE_EXHAUSTED| if a process/system/quota/etc. limit has
-// been reached.
-// |MOJO_RESULT_UNIMPLEMENTED| if an unsupported flag was set in |*options|.
-MojoResult MojoCreateWaitSet(const struct MojoCreateWaitSetOptions*
- MOJO_RESTRICT options, // Optional in.
- MojoHandle* handle); // Out.
-
-// |MojoWaitSetAdd()|: Adds an entry to watch for to the wait set specified by
-// |wait_set_handle| (which must have the |MOJO_HANDLE_RIGHT_WRITE| right).
-//
-// An entry in a wait set is composed of a handle, a signal set, and a
-// caller-specified cookie value. The cookie value must be unique across all
-// entries in a particular wait set but is otherwise opaque and can be any value
-// that is useful to the caller. If |options| is null the default options will
-// be used.
-//
-// In all failure cases the wait set is unchanged.
-//
-// Returns:
-// |MOJO_RESULT_OK| if the handle was added to the wait set.
-// |MOJO_RESULT_INVALID_ARGUMENT| if |wait_set_handle| or |handle| do not
-// refer to valid handles, |wait_set_handle| is not a handle to a wait
-// set, or |options| is not null and |*options| is not a valid options
-// structure.
-// |MOJO_RESULT_ALREADY_EXISTS| if there is already an entry in the wait set
-// with the same |cookie| value.
-// |MOJO_RESULT_BUSY| if |wait_set_handle| or |handle| are currently in use in
-// some transaction.
-// |MOJO_RESULT_RESOURCE_EXHAUSTED| if the handle could not be added due to
-// hitting a system or quota limitation.
-// |MOJO_ERROR_CODE_UNIMPLEMENTED| if some unknown/unsupported option has been
-// specified in |*options|.
-MojoResult MojoWaitSetAdd(MojoHandle wait_set_handle, // In.
- MojoHandle handle, // In.
- MojoHandleSignals signals, // In.
- uint64_t cookie, // In.
- const struct MojoWaitSetAddOptions* MOJO_RESTRICT
- options); // Optional in.
-
-// |MojoWaitSetRemove()|: Removes an entry from the wait set specified by
-// |wait_set_handle| (which must have the |MOJO_HANDLE_RIGHT_WRITE| right).
-//
-// Returns:
-// |MOJO_RESULT_OK| if the entry was successfully removed.
-// |MOJO_RESULT_INVALID_ARGUMENT| if |wait_set_handle| does not refer to a
-// valid wait set.
-// |MOJO_RESULT_NOT_FOUND| if |cookie| does not identify an entry within the
-// wait set.
-MojoResult MojoWaitSetRemove(MojoHandle wait_set_handle, // In.
- uint64_t cookie); // In.
-
-// |MojoWaitSetWait()|: Waits on all entries in the wait set specified by
-// |wait_set_handle| (which must have the |MOJO_HANDLE_RIGHT_READ| right) for at
-// least one of the following:
-// - At least one entry's handle satisfies a signal in that entry's signal
-// set.
-// - At least one entry's handle can never satisfy a signal in that entry's
-// signal set.
-// - |deadline| expires.
-// - The wait set is closed.
-//
-// On success, sets |*max_results| to the total number of possible results at
-// the time of the call. Also returns information for up to |*num_results|
-// entries in |*results| and sets |*num_results| to the number of entries the
-// system populated. In particular, |results[0]|, ..., |results[*num_results-1]|
-// will be populated as follows:
-// - |cookie| is the cookie value specified when the entry was added
-// - |wait_result| is set to one of the following:
-// - |MOJO_RESULT_OK| if the handle referred to by the entry satisfies one
-// or more of the signals in the entry
-// - |MOJO_RESULT_CANCELLED| if the handle referred to by the entry was
-// closed
-// - |MOJO_RESULT_BUSY| if the handle referred to by the entry is currently
-// in use in some transaction
-// - |MOJO_RESULT_FAILED_PRECONDITION| if it becomes impossible that the
-// handle referred to by the entry will ever satisfy any of entry's
-// signals
-// - |reserved| is set to 0
-//
-// When |wait_result| is |MOJO_RESULT_OK| or |MOJO_RESULT_FAILED_PRECONDITION|
-// |signals_state| is set to the handle's current signal state; otherwise, it
-// is set to a zeroed |MojoHandleSignalsState| (in particular, both fields
-// will then be |MOJO_HANDLE_SIGNALS_NONE|).
-//
-// On any result other than |MOJO_RESULT_OK|, |*num_results|, |*results| and
-// |*max_results| are not modified.
-//
-// Returns:
-// |MOJO_RESULT_OK| if one or more entries in the wait set become satisfied or
-// unsatisfiable.
-// |MOJO_RESULT_INVALID_ARGUMENT| if |wait_set_handle| does not refer to a
-// valid wait set handle.
-// |MOJO_RESULT_CANCELLED| if |wait_set_handle| is closed during the wait.
-// |MOJO_RESULT_RESOURCE_EXHAUSTED| if a system/quota/etc. limit was reached.
-// |MOJO_RESULT_BUSY| if |wait_set_handle| is in use in some transaction. Note
-// that waiting on a wait set handle does not count as a transaction. It
-// is valid to call |MojoWaitSetWait()| on the same wait set handle
-// concurrently from different threads.
-// |MOJO_RESULT_DEADLINE_EXCEEDED| if the deadline is passed without any
-// entries in the wait set becoming satisfied or unsatisfiable.
-MojoResult MojoWaitSetWait(
- MojoHandle wait_set_handle, // In.
- MojoDeadline deadline, // In.
- uint32_t* MOJO_RESTRICT num_results, // In/out.
- struct MojoWaitSetResult* MOJO_RESTRICT results, // Out.
- uint32_t* MOJO_RESTRICT max_results); // Optional out.
-
-MOJO_END_EXTERN_C
-
-#endif // MOJO_PUBLIC_C_INCLUDE_MOJO_SYSTEM_WAIT_SET_H_
« no previous file with comments | « mojo/public/c/include/mojo/system/wait.h ('k') | mojo/public/c/lib/bindings/array.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698