14 个版本

0.6.0 2021年11月20日
0.5.0 2020年10月20日
0.4.0 2020年7月9日

网络编程 中排名第 1482

Download history 14/week @ 2024-03-30 1/week @ 2024-04-06

每月下载量 52
用于 actyxos_data_flow

Apache-2.0

180KB
3.5K SLoC

Latest Version Rust Documentation

ActyxOS SDK

ActyxOS 使得在多个节点上运行分布式应用程序变得简单。这是一个软件组件,允许您在单个或多个边缘设备上运行自己的应用程序,并且这些应用程序可以无缝地相互通信和共享数据。

此 crate 定义了与 ActyxOS 通信所需的数据类型,并为 ActyxOS API 提供了 Rust 绑定。

示例

以下是一个使用 EventService 客户端检索一些事件的完整示例。请根据您的存储事件调整 semantics 以查看输出。

注意:(此示例需要 client 功能才能编译)

use actyxos_sdk::event_service::{EventService,
        EventServiceError, Order, Subscription};
use futures::stream::StreamExt;

#[tokio::main]
pub async fn main() -> Result<(), EventServiceError> {
    // client for locally running ActyxOS Event Service
    let service = EventService::default();

    // retrieve largest currently known event stream cursor
    let offsets = service.get_offsets().await?;

    // all events matching the given subscription
    // sorted backwards, i.e. youngest to oldest
    let sub = vec![Subscription::semantics("MyFish")];
    let mut events = service
        .query_upto(offsets, sub, Order::LamportReverse)
        .await?;

    // print out the payload of each event
    // (cf. Payload::extract for more options)
    while let Some(event) = events.next().await {
        println!("{}", event.payload.json_value());
    }
    Ok(())
 }

功能标志

默认情况下,只提供支持 serde 序列化和反序列化的数据类型。以下功能可以启用:

依赖关系

~6–24MB
~387K SLoC