2个版本
0.1.1 | 2024年5月23日 |
---|---|
0.1.0 | 2024年5月23日 |
#492 in 异步
每月39次下载
8KB
55 行
tokio-shared-rs
在dylib/cdylib和主二进制之间共享tokio运行时
注意:多线程版本尚不支持
用法
[dependencies]
tokio-shared = "0.1"
检出示例/example.rs
dylib的情况
use tokio_shared::SharedTokioHandle;
fn main() {
let handle = SharedTokioHandle::new();
let _guard = example_lib::setup_shared_tokio_ref(&handle);
example_lib::run("dylib");
}
cdylib的情况
use tokio_shared::SharedTokioHandle;
fn main() {
let dylib = unsafe { libloading::Library::new(dylib) }.expect("error loading dylib");
let setup_tokio: FnSetupTokio = unsafe { *dylib.get(b"setup_shared_tokio_ref").unwrap() };
let _guard = setup_tokio(&logger);
let run: FnRun = unsafe { *dylib.get(b"run").unwrap() };
run("cdylib");
}
依赖
~2.6–9MB
~62K SLoC