Skip to content

Commit 0eeacb1

Browse files
committed
initial sleep trigger implementation
1 parent c2da9a9 commit 0eeacb1

File tree

4 files changed

+35
-0
lines changed

4 files changed

+35
-0
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[workspace]
2+
members = ["sleep"]
3+
resolver = "2"
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[package]
2+
name = "sleep"
3+
version = "0.1.0"
4+
edition = "2021"
5+
6+
[dependencies]
7+
symmetric_executor = { version = "0.1.0", path = "../../../../symmetric_executor" }
8+
9+
[lib]
10+
crate-type = ["cdylib"]
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
use std::env;
2+
3+
fn main() {
4+
let out = env::var_os("OUT_DIR").unwrap();
5+
println!(
6+
r"cargo:rustc-link-search={}/../../../deps",
7+
out.into_string().unwrap()
8+
);
9+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#[link(name = "symmetric_executor")]
2+
extern "C" {
3+
fn symmetricX3AruntimeX2Fsymmetric_executorX400X2E1X2E0X00X5BstaticX5Devent_subscriptionX2Efrom_timeout(nanoseconds: u64) -> *mut ();
4+
}
5+
6+
#[no_mangle]
7+
unsafe extern "C" fn async_sleep(
8+
args: *const (),
9+
_results: *mut (),
10+
) -> *mut () {
11+
let nanoseconds = *args.cast::<u64>();
12+
symmetricX3AruntimeX2Fsymmetric_executorX400X2E1X2E0X00X5BstaticX5Devent_subscriptionX2Efrom_timeout(nanoseconds)
13+
}

0 commit comments

Comments
 (0)