Move spawn errors into executor.rs
This commit is contained in:
@@ -12,7 +12,8 @@
|
||||
reason = "futures in libcore are unstable",
|
||||
issue = "50547")]
|
||||
|
||||
use super::{TaskObj, SpawnObjError, SpawnErrorKind};
|
||||
use fmt;
|
||||
use super::{TaskObj, LocalTaskObj};
|
||||
|
||||
/// A task executor.
|
||||
///
|
||||
@@ -42,3 +43,48 @@ pub trait Executor {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
/// Provides the reason that an executor was unable to spawn.
|
||||
pub struct SpawnErrorKind {
|
||||
_hidden: (),
|
||||
}
|
||||
|
||||
impl fmt::Debug for SpawnErrorKind {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
f.debug_tuple("SpawnErrorKind")
|
||||
.field(&"shutdown")
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
|
||||
impl SpawnErrorKind {
|
||||
/// Spawning is failing because the executor has been shut down.
|
||||
pub fn shutdown() -> SpawnErrorKind {
|
||||
SpawnErrorKind { _hidden: () }
|
||||
}
|
||||
|
||||
/// Check whether this error is the `shutdown` error.
|
||||
pub fn is_shutdown(&self) -> bool {
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
/// The result of a failed spawn
|
||||
#[derive(Debug)]
|
||||
pub struct SpawnObjError {
|
||||
/// The kind of error
|
||||
pub kind: SpawnErrorKind,
|
||||
|
||||
/// The task for which spawning was attempted
|
||||
pub task: TaskObj,
|
||||
}
|
||||
|
||||
/// The result of a failed spawn
|
||||
#[derive(Debug)]
|
||||
pub struct SpawnLocalObjError {
|
||||
/// The kind of error
|
||||
pub kind: SpawnErrorKind,
|
||||
|
||||
/// The task for which spawning was attempted
|
||||
pub task: LocalTaskObj,
|
||||
}
|
||||
|
||||
@@ -18,14 +18,13 @@ mod context;
|
||||
pub use self::context::Context;
|
||||
|
||||
mod executor;
|
||||
pub use self::executor::Executor;
|
||||
pub use self::executor::{
|
||||
Executor, SpawnErrorKind, SpawnObjError, SpawnLocalObjError
|
||||
};
|
||||
|
||||
mod poll;
|
||||
pub use self::poll::Poll;
|
||||
|
||||
mod spawn_error;
|
||||
pub use self::spawn_error::{SpawnErrorKind, SpawnObjError, SpawnLocalObjError};
|
||||
|
||||
mod task;
|
||||
pub use self::task::{TaskObj, LocalTaskObj, UnsafeTask};
|
||||
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#![unstable(feature = "futures_api",
|
||||
reason = "futures in libcore are unstable",
|
||||
issue = "50547")]
|
||||
|
||||
use fmt;
|
||||
use mem;
|
||||
use super::{TaskObj, LocalTaskObj};
|
||||
|
||||
/// Provides the reason that an executor was unable to spawn.
|
||||
pub struct SpawnErrorKind {
|
||||
_hidden: (),
|
||||
}
|
||||
|
||||
impl fmt::Debug for SpawnErrorKind {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
f.debug_tuple("SpawnErrorKind")
|
||||
.field(&"shutdown")
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
|
||||
impl SpawnErrorKind {
|
||||
/// Spawning is failing because the executor has been shut down.
|
||||
pub fn shutdown() -> SpawnErrorKind {
|
||||
SpawnErrorKind { _hidden: () }
|
||||
}
|
||||
|
||||
/// Check whether this error is the `shutdown` error.
|
||||
pub fn is_shutdown(&self) -> bool {
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
/// The result of a failed spawn
|
||||
#[derive(Debug)]
|
||||
pub struct SpawnObjError {
|
||||
/// The kind of error
|
||||
pub kind: SpawnErrorKind,
|
||||
|
||||
/// The task for which spawning was attempted
|
||||
pub task: TaskObj,
|
||||
}
|
||||
|
||||
/// The result of a failed spawn
|
||||
#[derive(Debug)]
|
||||
pub struct SpawnLocalObjError {
|
||||
/// The kind of error
|
||||
pub kind: SpawnErrorKind,
|
||||
|
||||
/// The task for which spawning was attempted
|
||||
pub task: LocalTaskObj,
|
||||
}
|
||||
Reference in New Issue
Block a user