Skip to content

Add veil-api (Rust) - #1706

Open
aofusa wants to merge 1 commit into
MDA2AV:mainfrom
aofusa:add-veil-api
Open

aofusa wants to merge 1 commit into
MDA2AV:mainfrom
aofusa:add-veil-api

Conversation

@aofusa

@aofusa aofusa commented Nov 5, 2026

Copy link
Copy Markdown

Description

Adds veil-api (Rust, framework profile, emerging, standard mode): an application written with the API
library of veil (crates.io veil-proxy = "=0.10.1", features
full-container + api). veil runs on its own async runtime (epoll readiness reactor in this build; no tokio or
hyper); HTTP/2 is veil's own, HTTP/3 is quiche, TLS is rustls. I maintain veil.

  • #[veil::route] handlers: /baseline11 (GET/POST), /baseline2, /pipeline, /json/{count}?m= (serde_json on
    every request), /delay/{ms} (veil's timer), /echo, /ws (WebSocketUpgrade, echo).
  • gRPC benchmark.BenchmarkService (all four methods) from proto/benchmark.proto, generated at build time with
    veil-proxy-build (prost).
  • /static/* through App::serve_dir (File backend: sendfile, open-file/content caches that follow the disk,
    br/gzip for HTTP/2 and HTTP/3).
  • Compression of responses through [api] compression (the library's middleware).
  • One process with four [[listener]]s from veil.toml: 8080 HTTP/1.1, 8081 TLS HTTP/1.1, 8082 h2c,
    8443 TLS h2 + h3.
  • The build needs cmake, nasm, libclang-dev (aws-lc-sys) and protobuf-compiler (prost-build); they are
    installed in the build stage.

Completeness: routing, middleware (App::layer / layer_on / wrap_on: ordered, scoped, before and after the
handler, can answer early), request, response — see the README.

Subscribed tests: baseline, pipelined, limited-conn, async, latency-1m, latency-10k, latency-500k-8cpu, json-comp,
json-tls, 8gbit, static-tls, baseline-h2, static-h2, baseline-h2c, json-h2c, baseline-h3, static-h3, unary-grpc,
unary-grpc-tls, echo-ws, echo-ws-pipeline, echo-ws-limited.

Local validation (./scripts/validate.sh veil-api, with veil-proxy 0.10.1 from crates.io):
113 passed, 0 failed (frag 9/9, WS 7/7, gRPC h2c and TLS, h3, static-tls compression).

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant