Crate tokio_executor[−][src]
Task execution related traits and utilities.
In the Tokio execution model, futures are lazy. When a future is created, no work is performed. In order for the work defined by the future to happen, the future must be submitted to an executor. A future that is submitted to an executor is called a "task".
The executor is responsible for ensuring that [Future::poll] is called
whenever the task is [notified]. Notification happens when the internal
state of a task transitions from "not ready" to ready. For example, a socket
might have received data and a call to read will now be able to succeed.
This crate provides traits and utilities that are necessary for building an executor, including:
- 
The
Executortrait describes the API for spawning a future onto an executor. - 
entermarks that the the current thread is entering an execution context. This prevents a second executor from accidentally starting from within the context of one that is already running. - 
DefaultExecutorspawns tasks onto the default executor for the current context. - 
Parkabstracts over blocking and unblocking the current thread. 
Modules
| park | 
                                 Abstraction over blocking and unblocking the current thread.  | 
                       
Structs
| DefaultExecutor | 
                                 Executes futures on the default executor for the current execution context.  | 
                       
| Enter | 
                                 Represents an executor context.  | 
                       
| EnterError | 
                                 An error returned by   | 
                       
| SpawnError | 
                                 Errors returned by   | 
                       
Traits
| Executor | 
                                 A value that executes futures.  | 
                       
Functions
| enter | 
                                 Marks the current thread as being within the dynamic extent of an executor.  | 
                       
| spawn | 
                                 Submits a future for execution on the default executor -- usually a threadpool.  | 
                       
| with_default | 
                                 Set the default executor for the duration of the closure  |