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 === */