6个版本
0.1.5 | 2023年4月15日 |
---|---|
0.1.4 | 2023年4月1日 |
0.1.0 | 2023年3月30日 |
#1255 in 异步
每月 22 次下载
11KB
138 代码行
wasmcloud-interface-sleepy
"jclmnop:sleepy"能力合约的接口定义。此合约允许actor休眠指定的时间,并可在wasmcloud主机上检索当前系统时间。
适用于实现速率限制或其他基于时间的功能。
示例
use wasmcloud_interface_sleepy::SleepySender;
use wasmbus_rpc::actor::prelude::*;
use wasmbus_rpc::Timestamp;
async fn sleep_for_5_seconds(ctx: &Context) -> RpcResult<()> {
let sleepy = SleepySender::new();
sleepy.sleep(ctx, &5).await?;
}
async fn sleep_until_5_seconds(ctx: &Context) -> RpcResult<()> {
let sleepy = SleepySender::new();
let now = sleepy::now();
let five_seconds = Timestamp::new(now.sec + 5, now.nsec);
sleepy.sleep_until(ctx, &five_seconds).await?;
}
async fn get_current_time(ctx: &Context) -> RpcResult<Timestamp> {
let sleepy = SleepySender::new();
sleepy.now(ctx).await
}
lib.rs
:
sleepy-interface
依赖项
~12–29MB
~472K SLoC