4个版本
0.1.3 | 2020年11月13日 |
---|---|
0.1.2 | 2020年10月29日 |
0.1.1 | 2020年10月18日 |
0.1.0 | 2020年10月17日 |
#87 in #server-framework
32 每月下载次数
在 2 crates 中使用
140KB
2.5K SLoC
Rust Core Runtime for D3 —— 服务器开发框架
d3框架的核心运行时。d3-core是d3-derive和d3-components的配套工具。结合使用,它们构成了一个服务器开发框架。
使用方法
将以下内容添加到您的 Cargo.toml
[dependencies]
d3-derive = "0.1.3"
d3-core = "0.1.3"
示例
#[macro_use]
extern crate d3_derive;
use d3_core::machine_impl::*;
use d3_core::executor;
// A trivial instruction set
#[derive(Debug, MachineImpl)]
enum StateTable { Init, Start, Stop }
// A trivial Alice
pub struct Alice {}
// Implement the Machine trait for Alice
impl Machine<StateTable> for Alice {
fn receive(&self, cmd: StateTable) {
}
}
// Start the scheduler and executor.
executor::start_server();
// create the Machine from Alice, getting back a machine and Sender<StateTable>.
let (alice, sender) = executor::connect(Alice{});
// send a command to Alice
// Alice's receive method will be invoked, with cmd of StateTable::Init.
sender.send(StateTable::Init).expect("send failed");
// Stop the scheduler and executor.
executor::stop_server();
依赖项
~2.3–3MB
~60K SLoC