Skip to main content

rsynko_session/
sorts.rs

1/// The sorts of running work — the type families the attendance classes share.
2///
3/// A pure carrier trait with no operations. Sharing it links the sorts across every class, so a
4/// class never re-declares a sort and a composition never restates one as an equality bound.
5pub trait SessionSorts {
6    /// Names the request one run works on behalf of.
7    type Id;
8    /// Represents one thing happening where this program cannot reach into it.
9    type Run;
10    /// Represents one thing a run states while it is happening.
11    type Report;
12    /// Represents how a run ended.
13    type Ending;
14    /// Denotes a run refusing to begin, to be read, or to end.
15    type Refusal;
16}