tcontract-exec 0.9.1

Execution resources for the tcontract stack: the per-call Exec bundle (threadteam token, workspace, batch policy) and the Pool wrapper with its scratch arena
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/// Errors from building or using an [`Exec`](crate::Exec).
#[derive(Clone, Debug, thiserror::Error, PartialEq, Eq)]
#[non_exhaustive]
pub enum ExecError {
    /// The placement layer refused a token or a pool (for example a thread
    /// budget of zero).
    #[error("placement: {0}")]
    Placement(#[from] threadteam::Error),
    /// A forced batch strategy is unavailable on this route: for example a
    /// [`BatchStrategy::Split`](crate::batch::BatchStrategy::Split) that asks for
    /// both lanes and item threads on a route that runs each item serially inside
    /// its lane.
    #[error("batch strategy {strategy:?} is unavailable for this route")]
    StrategyUnavailable {
        /// The requested strategy.
        strategy: crate::batch::BatchStrategy,
    },
}