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 State: Send + Sync + 'static;
36
37    type Transaction: crate::state::Transaction<Self::State, Error: Send + Sync + 'static>
38        + crate::state::TransactionCatalog<Self::State>
39        + Send
40        + Sync
41        + 'static;
42
43    type Record: crate::state::RecordCatalog + Send + Sync + 'static;
44
45    type Streams: Send + Sync + 'static;
46
47    type Resources: Send + Sync + 'static;
48}
49
50/* === Implementations === */
51
52/* === Public Functions === */
53
54/* === Private Functions === */
55
56/* === Tests === */