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

Unified Diff: mojo/edk/system/watcher_set.h

Issue 2725133002: Mojo: Armed Watchers (Closed)
Patch Set: . Created 3 years, 10 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
Index: mojo/edk/system/watcher_set.h
diff --git a/mojo/edk/system/watcher_set.h b/mojo/edk/system/watcher_set.h
index 8ae54a1b35270faf5d3fe8fc3b753764623362c1..9beaf98091260eba09abdc43fbbcb070dfdf621f 100644
--- a/mojo/edk/system/watcher_set.h
+++ b/mojo/edk/system/watcher_set.h
@@ -5,7 +5,7 @@
#ifndef MOJO_EDK_SYSTEM_WATCHER_SET_H_
#define MOJO_EDK_SYSTEM_WATCHER_SET_H_
-#include <unordered_map>
+#include <map>
#include "base/callback.h"
#include "base/macros.h"
@@ -24,26 +24,29 @@ class WatcherSet {
WatcherSet();
~WatcherSet();
- // Notifies all Watchers of a state change.
- void NotifyForStateChange(const HandleSignalsState& state);
+ // Notifies all Watchers of the handle's current signals state.
+ void NotifyState(const HandleSignalsState& state);
// Notifies all Watchers that their watched handle has been closed.
void NotifyClosed();
// Adds a new watcher to watch for signals in |signals| to be satisfied or
- // unsatisfiable. |current_state| is the current signals state of the
- // handle being watched.
+ // unsatisfiable.
MojoResult Add(MojoHandleSignals signals,
const Watcher::WatchCallback& callback,
uintptr_t context,
const HandleSignalsState& current_state);
+ // Attempts to arm a watcher. May fail depending on |current_state|. See
+ // public |MojoArmWatcher()| documentation for error code details.
+ MojoResult Arm(uintptr_t context, const HandleSignalsState& current_state);
+
// Removes a watcher from the set.
MojoResult Remove(uintptr_t context);
private:
// A map of watchers keyed on context value.
- std::unordered_map<uintptr_t, scoped_refptr<Watcher>> watchers_;
+ std::map<uintptr_t, scoped_refptr<Watcher>> watchers_;
DISALLOW_COPY_AND_ASSIGN(WatcherSet);
};

Powered by Google App Engine
This is Rietveld 408576698