14个版本

0.4.2 2024年7月3日
0.3.3 2024年1月2日
0.3.1 2023年9月13日
0.3.0 2023年4月21日
0.1.4 2021年7月26日

18 in #trillium

Download history 108/week @ 2024-04-26 70/week @ 2024-05-03 28/week @ 2024-05-10 83/week @ 2024-05-17 178/week @ 2024-05-24 152/week @ 2024-05-31 72/week @ 2024-06-07 123/week @ 2024-06-14 67/week @ 2024-06-21 159/week @ 2024-06-28 24/week @ 2024-07-05 29/week @ 2024-07-12 46/week @ 2024-07-19 47/week @ 2024-07-26 112/week @ 2024-08-02 137/week @ 2024-08-09

每月351次下载
用于 8 crate

MIT/Apache

385KB
7.5K SLoC

欢迎来到Trillium!

📖 指南 📖

该指南提供了对Trillium crate的架构概述和连接。

📑 Rustdocs 📑

Rustdocs是了解Trillium的各个crate及其特定接口的最佳方式。




法律

根据以下任一许可证授权

任选其一。

除非你明确说明,否则根据Apache-2.0许可证定义的,你故意提交的任何贡献,都应如上所述双重许可,没有额外的条款或条件。


lib.rs:

使用smol和async-global-executor的Trillium适配器

默认/12因子应用程序

trillium_smol::run(|conn: trillium::Conn| async move {
conn.ok("hello smol")
});

服务器配置

更多详细信息,请参阅trillium_smol::config

let stopper = trillium_smol::Stopper::new();
trillium_smol::config()
.with_port(0)
.with_host("127.0.0.1")
.without_signals()
.with_nodelay()
.with_acceptor(()) // see [`trillium_rustls`] and [`trillium_native_tls`]
.with_stopper(stopper)
.run(|conn: trillium::Conn| async move {
conn.ok("hello smol")
});

客户端

trillium_testing::with_server("ok", |url| async move {
use trillium_smol::TcpConnector;
use trillium_client::{Conn, Client};
let mut conn = Conn::<TcpConnector>::get(url.clone()).execute().await?;
assert_eq!(conn.response_body().read_string().await?, "ok");

let client = Client::<TcpConnector>::new().with_default_pool();
let mut conn = client.get(url);
conn.send().await?;
assert_eq!(conn.response_body().read_string().await?, "ok");
Ok(())
});

依赖关系

~10–20MB
~360K SLoC