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"]