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); |
}; |