1cac7dca0Sopenharmony_ci[package]
2cac7dca0Sopenharmony_ciname = "ylong_runtime"
3cac7dca0Sopenharmony_civersion = "1.0.0"
4cac7dca0Sopenharmony_ciedition = "2021"
5cac7dca0Sopenharmony_cidescription = "Runtime Environment"
6cac7dca0Sopenharmony_cilicense = "Apache-2.0"
7cac7dca0Sopenharmony_cirepository = "https://gitee.com/openharmony/commonlibrary_rust_ylong_runtime"
8cac7dca0Sopenharmony_cikeywords = ["ylong", "runtime", "executor"]
9cac7dca0Sopenharmony_ci
10cac7dca0Sopenharmony_ci[features]
11cac7dca0Sopenharmony_cidefault = []
12cac7dca0Sopenharmony_ci
13cac7dca0Sopenharmony_cifull = [
14cac7dca0Sopenharmony_ci    "net",
15cac7dca0Sopenharmony_ci    "multi_instance_runtime",
16cac7dca0Sopenharmony_ci    "current_thread_runtime",
17cac7dca0Sopenharmony_ci    "signal",
18cac7dca0Sopenharmony_ci    "sync",
19cac7dca0Sopenharmony_ci    "time",
20cac7dca0Sopenharmony_ci    "process",
21cac7dca0Sopenharmony_ci    "fs",
22cac7dca0Sopenharmony_ci    "macros",
23cac7dca0Sopenharmony_ci]
24cac7dca0Sopenharmony_ci
25cac7dca0Sopenharmony_ciffrt_full = [
26cac7dca0Sopenharmony_ci    "net",
27cac7dca0Sopenharmony_ci    "signal",
28cac7dca0Sopenharmony_ci    "sync",
29cac7dca0Sopenharmony_ci    "time",
30cac7dca0Sopenharmony_ci    "process",
31cac7dca0Sopenharmony_ci    "fs",
32cac7dca0Sopenharmony_ci    "ffrt",
33cac7dca0Sopenharmony_ci    "macros",
34cac7dca0Sopenharmony_ci]
35cac7dca0Sopenharmony_ci
36cac7dca0Sopenharmony_ci# This feature controls the executor type runs below the runtime.
37cac7dca0Sopenharmony_ci# If turned off, ffrt executor will be selected.
38cac7dca0Sopenharmony_ci# If turned on, ylong executor will be selected.
39cac7dca0Sopenharmony_ciffrt = ["ylong_ffrt"]
40cac7dca0Sopenharmony_ci
41cac7dca0Sopenharmony_ci# This feature controls whether the runtime is singleton.
42cac7dca0Sopenharmony_ci# If turned on, there could be mulitple executors running with their own thread pool.
43cac7dca0Sopenharmony_cimulti_instance_runtime = []
44cac7dca0Sopenharmony_ci
45cac7dca0Sopenharmony_ci# This controls whether to enable the functionality to turn the current thread into a single-thread runtime.
46cac7dca0Sopenharmony_cicurrent_thread_runtime = []
47cac7dca0Sopenharmony_ci
48cac7dca0Sopenharmony_ci# Async file io components
49cac7dca0Sopenharmony_cifs = ["sync"]
50cac7dca0Sopenharmony_ci
51cac7dca0Sopenharmony_ci# Coroutine synchronization components (mutex, channel, etc.)
52cac7dca0Sopenharmony_cisync = []
53cac7dca0Sopenharmony_ci
54cac7dca0Sopenharmony_ci# Timer component
55cac7dca0Sopenharmony_citime = []
56cac7dca0Sopenharmony_ci
57cac7dca0Sopenharmony_ci# Async IO components
58cac7dca0Sopenharmony_cinet = ["ylong_io/tcp", "ylong_io/udp"]
59cac7dca0Sopenharmony_ci
60cac7dca0Sopenharmony_ci# Signal component
61cac7dca0Sopenharmony_cisignal = ["ylong_signal", "net", "sync"]
62cac7dca0Sopenharmony_ci
63cac7dca0Sopenharmony_ci# Macro components
64cac7dca0Sopenharmony_cimacros = ["ylong_runtime_macros"]
65cac7dca0Sopenharmony_ci
66cac7dca0Sopenharmony_ci# Metrics component
67cac7dca0Sopenharmony_cimetrics = []
68cac7dca0Sopenharmony_ci
69cac7dca0Sopenharmony_ci# Process component
70cac7dca0Sopenharmony_ciprocess = ["signal"]
71cac7dca0Sopenharmony_ci
72cac7dca0Sopenharmony_ci[dependencies]
73cac7dca0Sopenharmony_cilibc = "0.2.134"
74cac7dca0Sopenharmony_ciylong_signal = { path = "../ylong_signal", optional = true }
75cac7dca0Sopenharmony_ciylong_io = { path = "../ylong_io", optional = true }
76cac7dca0Sopenharmony_ciylong_ffrt = { path = "../ylong_ffrt", optional = true }
77cac7dca0Sopenharmony_ciylong_runtime_macros = { path = "../ylong_runtime_macros", optional = true }
78cac7dca0Sopenharmony_ci
79cac7dca0Sopenharmony_ci[dev-dependencies]
80cac7dca0Sopenharmony_citokio = { version = "1.25", features = ["full"] }
81cac7dca0Sopenharmony_ci
82cac7dca0Sopenharmony_ci[package.metadata.doc.rs]
83cac7dca0Sopenharmony_ciall-features = true
84cac7dca0Sopenharmony_cirustdoc-args = ["--cfg", "docrs"]
85cac7dca0Sopenharmony_ci
86cac7dca0Sopenharmony_ci[[bench]]
87cac7dca0Sopenharmony_ciname = "ylong_tokio_mutex"
88cac7dca0Sopenharmony_cipath = "benches/ylong_tokio_mutex.rs"
89cac7dca0Sopenharmony_cirequired-features = ["sync"]
90cac7dca0Sopenharmony_ci
91cac7dca0Sopenharmony_ci[[bench]]
92cac7dca0Sopenharmony_ciname = "ylong_tokio_rwlock"
93cac7dca0Sopenharmony_cipath = "benches/ylong_tokio_rwlock.rs"
94cac7dca0Sopenharmony_cirequired-features = ["sync"]
95cac7dca0Sopenharmony_ci
96cac7dca0Sopenharmony_ci[[bench]]
97cac7dca0Sopenharmony_ciname = "ylong_tokio_tcp"
98cac7dca0Sopenharmony_cipath = "benches/ylong_tokio_tcp.rs"
99cac7dca0Sopenharmony_cirequired-features = ["net"]
100cac7dca0Sopenharmony_ci
101cac7dca0Sopenharmony_ci[[bench]]
102cac7dca0Sopenharmony_ciname = "ylong_tokio_udp"
103cac7dca0Sopenharmony_cipath = "benches/ylong_tokio_udp.rs"
104cac7dca0Sopenharmony_cirequired-features = ["net"]
105cac7dca0Sopenharmony_ci
106cac7dca0Sopenharmony_ci[[bench]]
107cac7dca0Sopenharmony_ciname = "ylong_tokio_uds"
108cac7dca0Sopenharmony_cipath = "benches/ylong_tokio_uds.rs"
109cac7dca0Sopenharmony_ci
110cac7dca0Sopenharmony_cirequired-features = ["net"]
111cac7dca0Sopenharmony_ci
112cac7dca0Sopenharmony_ci[[bench]]
113cac7dca0Sopenharmony_ciname = "ylong_tokio_multi_threaded"
114cac7dca0Sopenharmony_cipath = "benches/ylong_tokio_multi_threaded.rs"
115cac7dca0Sopenharmony_cirequired-features = ["net"]
116cac7dca0Sopenharmony_ci
117cac7dca0Sopenharmony_ci[[example]]
118cac7dca0Sopenharmony_ciname = "ylong_runtime_tcp_client_perf"
119cac7dca0Sopenharmony_cipath = "benches/bin/ylong_runtime_tcp_client_perf.rs"
120cac7dca0Sopenharmony_cirequired-features = ["net", "multi_instance_runtime"]
121cac7dca0Sopenharmony_ci
122cac7dca0Sopenharmony_ci[[example]]
123cac7dca0Sopenharmony_ciname = "ylong_runtime_tcp_server_perf"
124cac7dca0Sopenharmony_cipath = "benches/bin/ylong_runtime_tcp_server_perf.rs"
125cac7dca0Sopenharmony_cirequired-features = ["net", "multi_instance_runtime"]
126cac7dca0Sopenharmony_ci
127cac7dca0Sopenharmony_ci[[example]]
128cac7dca0Sopenharmony_ciname = "ylong_runtime_async_benchmark"
129cac7dca0Sopenharmony_cipath = "benches/bin/ylong_runtime_async_benchmark.rs"
130cac7dca0Sopenharmony_cirequired-features = ["net", "multi_instance_runtime"]
131cac7dca0Sopenharmony_ci
132cac7dca0Sopenharmony_ci[[example]]
133cac7dca0Sopenharmony_ciname = "ylong_sync_mutex_perf"
134cac7dca0Sopenharmony_cipath = "benches/bin/ylong_sync_mutex_perf.rs"
135cac7dca0Sopenharmony_cirequired-features = ["sync"]
136cac7dca0Sopenharmony_ci
137cac7dca0Sopenharmony_ci[[example]]
138cac7dca0Sopenharmony_ciname = "ylong_sync_rwlock_perf"
139cac7dca0Sopenharmony_cipath = "benches/bin/ylong_sync_rwlock_perf.rs"
140cac7dca0Sopenharmony_cirequired-features = ["sync"]
141cac7dca0Sopenharmony_ci
142cac7dca0Sopenharmony_ci[[example]]
143cac7dca0Sopenharmony_ciname = "ylong_runtime_tcp"
144cac7dca0Sopenharmony_cipath = "./examples/ylong_runtime_tcp.rs"
145cac7dca0Sopenharmony_cirequired-features = ["net"]
146cac7dca0Sopenharmony_ci
147cac7dca0Sopenharmony_ci[[example]]
148cac7dca0Sopenharmony_ciname = "ylong_runtime_signal"
149cac7dca0Sopenharmony_cipath = "./examples/ylong_runtime_signal.rs"
150cac7dca0Sopenharmony_cirequired-features = ["signal"]
151cac7dca0Sopenharmony_ci
152cac7dca0Sopenharmony_ci[[example]]
153cac7dca0Sopenharmony_ciname = "ylong_runtime_multi_runtimes"
154cac7dca0Sopenharmony_cipath = "./examples/ylong_runtime_multi_runtimes.rs"
155cac7dca0Sopenharmony_cirequired-features = ["multi_instance_runtime"]
156cac7dca0Sopenharmony_ci
157cac7dca0Sopenharmony_ci[[example]]
158cac7dca0Sopenharmony_ciname = "ylong_runtime_memory"
159cac7dca0Sopenharmony_cipath = "examples/ylong_runtime_memory.rs"
160cac7dca0Sopenharmony_cirequired-features = ["multi_instance_runtime"]
161cac7dca0Sopenharmony_ci
162cac7dca0Sopenharmony_ci[[example]]
163cac7dca0Sopenharmony_ciname = "ylong_runtime_timer_sleep"
164cac7dca0Sopenharmony_cipath = "examples/ylong_runtime_timer_sleep.rs"
165cac7dca0Sopenharmony_cirequired-features = ["time", "multi_instance_runtime"]
166cac7dca0Sopenharmony_ci
167cac7dca0Sopenharmony_ci[[example]]
168cac7dca0Sopenharmony_ciname = "ylong_runtime_timer_memory"
169cac7dca0Sopenharmony_cipath = "examples/ylong_runtime_timer_memory.rs"
170cac7dca0Sopenharmony_cirequired-features = ["time", "multi_instance_runtime"]
171cac7dca0Sopenharmony_ci
172cac7dca0Sopenharmony_ci[[example]]
173cac7dca0Sopenharmony_ciname = "ylong_timer_latency"
174cac7dca0Sopenharmony_cipath = "examples/ylong_timer_latency.rs"
175cac7dca0Sopenharmony_cirequired-features = ["time"]
176cac7dca0Sopenharmony_ci
177cac7dca0Sopenharmony_ci[[example]]
178cac7dca0Sopenharmony_ciname = "ylong_runtime_tcp_fd_limit"
179cac7dca0Sopenharmony_cipath = "examples/ylong_runtime_tcp_fd_limit.rs"
180cac7dca0Sopenharmony_cirequired-features = ["net"]
181cac7dca0Sopenharmony_ci
182cac7dca0Sopenharmony_ci[[example]]
183cac7dca0Sopenharmony_ciname = "ylong_runtime_spawn_fail"
184cac7dca0Sopenharmony_cipath = "examples/ylong_runtime_spawn_fail.rs"
185cac7dca0Sopenharmony_cirequired-features = ["time"]
186cac7dca0Sopenharmony_ci
187cac7dca0Sopenharmony_ci[[example]]
188cac7dca0Sopenharmony_ciname = "ylong_timer_out_of_context"
189cac7dca0Sopenharmony_cipath = "examples/ylong_timer_out_of_context.rs"
190cac7dca0Sopenharmony_cirequired-features = ["time"]