Index: mojo/public/utility/run_loop.h |
diff --git a/mojo/public/utility/run_loop.h b/mojo/public/utility/run_loop.h |
deleted file mode 100644 |
index 7954ab763441e21abe886a62a99d1fea8edf4b41..0000000000000000000000000000000000000000 |
--- a/mojo/public/utility/run_loop.h |
+++ /dev/null |
@@ -1,108 +0,0 @@ |
-// Copyright 2013 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. |
- |
-#ifndef MOJO_PUBLIC_UTILITY_RUN_LOOP_H_ |
-#define MOJO_PUBLIC_UTILITY_RUN_LOOP_H_ |
- |
-#include <map> |
- |
-#include "mojo/public/cpp/system/core.h" |
- |
-namespace mojo { |
- |
-class RunLoopHandler; |
- |
-class RunLoop { |
- public: |
- RunLoop(); |
- ~RunLoop(); |
- |
- // Sets up state needed for RunLoop. This must be invoked before creating a |
- // RunLoop. |
- static void SetUp(); |
- |
- // Cleans state created by Setup(). |
- static void TearDown(); |
- |
- // Returns the RunLoop for the current thread. Returns NULL if not yet |
- // created. |
- static RunLoop* current(); |
- |
- // Registers a RunLoopHandler for the specified handle. Only one handler can |
- // be registered for a specified handle. |
- void AddHandler(RunLoopHandler* handler, |
- const Handle& handle, |
- MojoWaitFlags wait_flags, |
- MojoDeadline deadline); |
- void RemoveHandler(const Handle& handle); |
- bool HasHandler(const Handle& handle) const; |
- |
- // Runs the loop servicing handles as they are ready. This returns when Quit() |
- // is invoked, or there no more handles. |
- void Run(); |
- |
- // Runs the loop servicing any handles that are ready. Does not wait for |
- // handles to become ready before returning. Returns early if Quit() is |
- // invoked. |
- void RunUntilIdle(); |
- |
- void Quit(); |
- |
- private: |
- struct RunState; |
- struct WaitState; |
- |
- // Contains the data needed to track a request to AddHandler(). |
- struct HandlerData { |
- HandlerData() |
- : handler(NULL), |
- wait_flags(MOJO_WAIT_FLAG_NONE), |
- deadline(0), |
- id(0) {} |
- |
- RunLoopHandler* handler; |
- MojoWaitFlags wait_flags; |
- MojoTimeTicks deadline; |
- // See description of |RunLoop::next_handler_id_| for details. |
- int id; |
- }; |
- |
- typedef std::map<Handle, HandlerData> HandleToHandlerData; |
- |
- // Waits for a handle to be ready. Returns after servicing at least one |
- // handle (or there are no more handles) unless |non_blocking| is true, |
- // in which case it will also return if servicing at least one handle |
- // would require blocking. Returns true if a RunLoopHandler was notified. |
- bool Wait(bool non_blocking); |
- |
- // Notifies any handlers whose deadline has expired. Returns true if a |
- // RunLoopHandler was notified. |
- bool NotifyDeadlineExceeded(); |
- |
- // Removes the first invalid handle. This is called if MojoWaitMany() finds an |
- // invalid handle. Returns true if a RunLoopHandler was notified. |
- bool RemoveFirstInvalidHandle(const WaitState& wait_state); |
- |
- // Returns the state needed to pass to WaitMany(). |
- WaitState GetWaitState(bool non_blocking) const; |
- |
- HandleToHandlerData handler_data_; |
- |
- // If non-NULL we're running (inside Run()). Member references a value on the |
- // stack. |
- RunState* run_state_; |
- |
- // An ever increasing value assigned to each HandlerData::id. Used to detect |
- // uniqueness while notifying. That is, while notifying expired timers we copy |
- // |handler_data_| and only notify handlers whose id match. If the id does not |
- // match it means the handler was removed then added so that we shouldn't |
- // notify it. |
- int next_handler_id_; |
- |
- MOJO_DISALLOW_COPY_AND_ASSIGN(RunLoop); |
-}; |
- |
-} // namespace mojo |
- |
-#endif // MOJO_PUBLIC_UTILITY_RUN_LOOP_H_ |