Skip to main content

harmos_runtime/
application.rs

1/* ***
2 *
3 * Harmos
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 *
7 * ***
8 */
9
10/* === Modules === */
11
12/* === Re-Exports === */
13
14/* === Imports === */
15
16// Standard Library Imports
17
18// Third Party Imports
19
20// Local Imports
21
22/* === Constants === */
23
24/* === Macros === */
25
26/* === Type Aliases === */
27
28/* === Structs === */
29
30/* === Enums === */
31
32/* === Traits === */
33
34pub trait Application: Send + Sync + 'static {
35    type Lanes: crate::operations::Lane;
36
37    type State: Send + Sync + 'static;
38
39    type Transaction: crate::state::Transaction<Self::State, Error: Send + Sync + 'static>
40        + crate::state::TransactionCatalog<Self::State>
41        + Send
42        + Sync
43        + 'static;
44
45    type Record: crate::state::RecordCatalog + Send + Sync + 'static;
46
47    type Streams: Send + Sync + 'static;
48
49    type Resources: Send + Sync + 'static;
50}
51
52/* === Implementations === */
53
54/* === Public Functions === */
55
56/* === Private Functions === */
57
58/* === Tests === */