14 个版本
0.6.0 | 2021年11月20日 |
---|---|
0.5.0 | 2020年10月20日 |
0.4.0 | 2020年7月9日 |
在 网络编程 中排名第 1482
每月下载量 52
用于 actyxos_data_flow
180KB
3.5K SLoC
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
序列化和反序列化的数据类型。以下功能可以启用:
client
:包含使用reqwest
crate 的 HTTP 客户端绑定dataflow
:提供用于与工具如Differential Dataflow
一起使用的Abomonation
实例
依赖关系
~6–24MB
~387K SLoC