hermes_tokio_runtime_components/components/
concurrent.rs

1use cgp::prelude::*;
2use hermes_async_runtime_components::task::impls::concurrent::RunConcurrentTasks;
3pub use hermes_runtime_components::traits::channel::{
4    ChannelCreatorComponent, ChannelTypeComponent, ChannelUserComponent, ReceiverStreamerComponent,
5    SenderClonerComponent,
6};
7pub use hermes_runtime_components::traits::channel_once::{
8    ChannelOnceCreatorComponent, ChannelOnceTypeComponent, ChannelOnceUserComponent,
9};
10pub use hermes_runtime_components::traits::fs::copy_file::FileCopierComponent;
11pub use hermes_runtime_components::traits::fs::create_dir::DirCreatorComponent;
12pub use hermes_runtime_components::traits::fs::file_path::FilePathTypeComponent;
13pub use hermes_runtime_components::traits::fs::read_file::FileAsStringReaderComponent;
14pub use hermes_runtime_components::traits::fs::write_file::StringToFileWriterComponent;
15pub use hermes_runtime_components::traits::mutex::MutexComponent;
16pub use hermes_runtime_components::traits::os::child_process::{
17    ChildProcessStarterComponent, ChildProcessTypeComponent, ChildProcessWaiterComponent,
18};
19pub use hermes_runtime_components::traits::os::exec_command::{
20    CommandExecutorComponent, CommandWithEnvsExecutorComponent,
21};
22pub use hermes_runtime_components::traits::os::reserve_port::TcpPortReserverComponent;
23pub use hermes_runtime_components::traits::random::RandomGeneratorComponent;
24pub use hermes_runtime_components::traits::sleep::SleeperComponent;
25pub use hermes_runtime_components::traits::spawn::TaskSpawnerComponent;
26pub use hermes_runtime_components::traits::stream::{StreamMapperComponent, StreamTypeComponent};
27pub use hermes_runtime_components::traits::subscription::SubscriptionComponent;
28pub use hermes_runtime_components::traits::task::ConcurrentTaskRunnerComponent;
29pub use hermes_runtime_components::traits::time::TimeComponent;
30
31use crate::components::parallel::TokioParallelRuntimeComponents;
32
33define_components! {
34    TokioConcurrentRuntimeComponents {
35        ConcurrentTaskRunnerComponent: RunConcurrentTasks,
36        [
37            SleeperComponent,
38            TimeComponent,
39            MutexComponent,
40            StreamTypeComponent,
41            StreamMapperComponent,
42            SubscriptionComponent,
43            TaskSpawnerComponent,
44            ChannelTypeComponent,
45            ChannelCreatorComponent,
46            ChannelUserComponent,
47            ChannelOnceTypeComponent,
48            ChannelOnceCreatorComponent,
49            ChannelOnceUserComponent,
50            ReceiverStreamerComponent,
51            SenderClonerComponent,
52            FilePathTypeComponent,
53            ChildProcessTypeComponent,
54            ChildProcessStarterComponent,
55            ChildProcessWaiterComponent,
56            FileAsStringReaderComponent,
57            DirCreatorComponent,
58            FileCopierComponent,
59            CommandExecutorComponent,
60            CommandWithEnvsExecutorComponent,
61            StringToFileWriterComponent,
62            TcpPortReserverComponent,
63            RandomGeneratorComponent,
64        ]:
65            TokioParallelRuntimeComponents,
66    }
67}