motorcortex_rust/
nng_init_threads.rs1use nng_c_sys::nng_init_set_parameter;
2pub mod nng_init_parameter {
3 pub type Type = core::ffi::c_int;
4 pub const NNG_INIT_NUM_TASK_THREADS: Type = 1;
5 pub const NNG_INIT_NUM_EXPIRE_THREADS: Type = 2;
6 pub const NNG_INIT_NUM_POLLER_THREADS: Type = 3;
7 pub const NNG_INIT_NUM_RESOLVER_THREADS: Type = 4;
8 pub const NNG_INIT_MAX_TASK_THREADS: Type = 5;
9 pub const NNG_INIT_MAX_EXPIRE_THREADS: Type = 6;
10 pub const NNG_INIT_MAX_POLLER_THREADS: Type = 7;
11}
12pub fn init_threads(
13 task_threads: u64,
14 expire_threads: u64,
15 poller_threads: u64,
16 resolver_threads: u64,
17) {
18 unsafe {
19 nng_init_set_parameter(nng_init_parameter::NNG_INIT_NUM_TASK_THREADS, task_threads);
20 nng_init_set_parameter(
21 nng_init_parameter::NNG_INIT_NUM_EXPIRE_THREADS,
22 expire_threads,
23 );
24 nng_init_set_parameter(
25 nng_init_parameter::NNG_INIT_NUM_POLLER_THREADS,
26 poller_threads,
27 );
28 nng_init_set_parameter(
29 nng_init_parameter::NNG_INIT_NUM_RESOLVER_THREADS,
30 resolver_threads,
31 );
32 }
33}
34
35pub fn init_threads_with_defaults() {
36 init_threads(2, 1, 1, 1); }