• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 package org.chromium.mojo.system;
6 
7 import java.io.Closeable;
8 
9 /**
10  * Definition of a run loop.
11  */
12 public interface RunLoop extends Closeable {
13     /**
14      * Start the run loop. It will continue until quit() is called.
15      */
run()16     public void run();
17 
18     /**
19      * Start the run loop and stop it as soon as no task is present in the work queue.
20      */
runUntilIdle()21     public void runUntilIdle();
22 
23     /*
24      * Quit the currently running run loop.
25      */
quit()26     public void quit();
27 
28     /**
29      * Add a runnable to the queue of tasks.
30      * @param runnable Callback to be executed by the run loop.
31      * @param delay Delay, in MojoTimeTicks (microseconds) before the callback should
32      * be executed.
33      */
postDelayedTask(Runnable runnable, long delay)34     public void postDelayedTask(Runnable runnable, long delay);
35 
36     /**
37      * Destroy the run loop and deregister it from Core.
38      */
39     @Override
close()40     public abstract void close();
41 }
42