Skip to content

Commit abb893e

Browse files
authored
Merge pull request #25 from rust-dd/feat/thread-per-code
feat/thread-per-code
2 parents 3c45e71 + 7a33a3b commit abb893e

61 files changed

Lines changed: 6513 additions & 1245 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Cargo.lock

Lines changed: 136 additions & 58 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ async-trait = "0.1.88"
7474
base64 = "0.22.1"
7575
bytes = "1.10.1"
7676
cookie = { version = "0.18.1", features = ["private", "signed"] }
77+
envy = "0.4"
7778
futures-util = "0.3.31"
7879
http = "1.3.1"
7980
http-body = "1.0.1"
@@ -94,9 +95,9 @@ serde_json = "1.0.140"
9495
serde_urlencoded = "0.7"
9596
sha1 = "0.10.6"
9697
smallvec = "1"
97-
tokio = { version = "1.48.0", features = ["full"] }
98+
tokio = { version = "1.52.1", features = ["full"] }
9899
tokio-stream = "0.1.17"
99-
tokio-tungstenite = "0.27.0"
100+
tokio-tungstenite = "0.29.0"
100101
tokio-util = { version = "0.7.15", features = ["compat"] }
101102
tracing = "0.1.41"
102103
url = "2.5.4"
@@ -105,11 +106,8 @@ urlencoding = "2.1.3"
105106
# Optional / feature-gated
106107
ahash = { version = "0.8.12", features = ["serde"] }
107108
brotli = "8.0.1"
108-
compio = { version = "0.17.0", features = ["macros", "rustls"] }
109-
compio-buf = "0.7.1"
110-
compio-io = "0.8.4"
111-
compio-ws = "0.2.0"
112-
cyper-core = "0.7.0"
109+
compio = { version = "0.18.0", features = ["macros", "rustls", "time", "fs", "net"] }
110+
cyper-core = "0.8.0"
113111
flate2 = "1.1.2"
114112
h3 = "0.0.8"
115113
h3-quinn = "0.0.10"
@@ -125,6 +123,7 @@ rustls-pemfile = "2.2.0"
125123
send_wrapper = "0.6"
126124
simd-json = "0.15.1"
127125
sonic-rs = "0.5.6"
126+
subtle = "2.6.1"
128127
tikv-jemallocator = "0.6.0"
129128
tokio-rustls = "0.26.2"
130129
uuid = { version = "1.17.0", features = ["v4"] }

README.md

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,25 @@
22
[![Crates.io](https://img.shields.io/crates/v/tako-rs?style=flat-square)](https://crates.io/crates/tako-rs)
33
![License](https://img.shields.io/crates/l/tako-rs?style=flat-square)
44

5+
> **⚠️ Tako 2.0 is in progress on `main`.** The default branch carries breaking
6+
> changes (new `Server::builder`, `Router::with_state`, `nest`/`scope`, `405 +
7+
> Allow`, RFC 7807 `problem+json`, runtime-agnostic `ServerHandle`, …) that are
8+
> **not yet released**. For production, install the published 1.x line from
9+
> crates.io:
10+
>
11+
> ```toml
12+
> [dependencies]
13+
> tako-rs = "1"
14+
> ```
15+
>
16+
> Track 2.0 work in [`V2_ROADMAP.md`](./V2_ROADMAP.md). Expect API churn until
17+
> the 2.0 alpha is tagged.
18+
519
# 🐙 Tako — Multi-Transport Rust Framework for Modern Network Services
620
721
> **Tako** (*"octopus"* in Japanese) is a pragmatic, ergonomic and extensible Rust framework for services that go beyond plain HTTP.
822
> Build one cohesive application across HTTP/1.1, HTTP/2, HTTP/3, WebSocket, SSE, gRPC, TCP, UDP, Unix sockets, and WebTransport with a single routing, middleware, and observability model.
923
10-
> **Blog posts:**
11-
> - [Tako: A Lightweight Async Web Framework on Tokio and Hyper](https://rust-dd.com/post/tako-a-lightweight-async-web-framework-on-tokio-and-hyper)
12-
> - [Tako v.0.5.0 road to v.1.0.0](https://rust-dd.com/post/tako-v-0-5-0-road-to-v-1-0-0)
13-
> - [Tako v0.5.0 → v0.7.1-2: from "nice router" to "mini platform"](https://rust-dd.com/post/tako-v0-5-0-to-v0-7-1-2-from-nice-router-to-mini-platform)
14-
1524
## Why Tako
1625
1726
Tako is built for teams that want fewer moving parts in production:

V2_ROADMAP.md

Lines changed: 460 additions & 0 deletions
Large diffs are not rendered by default.

examples/bench-pt/Cargo.lock

Lines changed: 32 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/bench-pt/src/main.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ fn main() {
6767
workers,
6868
pin_to_core: false,
6969
backlog: 1024,
70+
..Default::default()
7071
};
7172
tako::serve_per_thread(&addr, build_router(), cfg).expect("serve_per_thread");
7273
}
@@ -75,6 +76,7 @@ fn main() {
7576
workers,
7677
pin_to_core: false,
7778
backlog: 1024,
79+
..Default::default()
7880
};
7981
tako::serve_per_thread_compio(&addr, build_router(), cfg)
8082
.expect("serve_per_thread_compio");

0 commit comments

Comments
 (0)