Skip to content

Latest commit

 

History

History
 
 

flare docs

Long-form documentation for flare. The top-level README.md is a lean entry point. The files in this directory carry the detail.

Page What's in it
features.md Complete feature inventory across HTTP server / client, HTTP/2, WebSocket, TLS, sessions, middleware, extractors, runtime primitives, observability, configuration knobs, and stability guarantees. Each entry links to the source module and example.
architecture.md Reactor + per-connection state machine + thread-per-core scheduler, with a request-lifecycle sequence diagram including the Cancel injection point, two listener strategies, and the HTTP/2 same-handler-different-wire compatibility contract.
benchmark.md Methodology, workloads, baselines, single-worker vs multi-worker tables, the listener-mode A/B (EPOLLEXCLUSIVE shared listener vs per-worker SO_REUSEPORT), and the soak harness for long-running operational gates (slow-client / churn / mixed-load).
build.md Build modes (-D ASSERT=none/safe/all/warn), the sanitizer harness (tests-asan / tests-tsan / tests-asserts-all), production-build guidance, and contributor pattern for debug_assert on new FFI wrappers.
security.md Per-layer security posture (including flare.http2's SETTINGS_ENABLE_PUSH=0, RFC 9113 §9.1.1 same-origin enforcement, and ALPN refusal-to-downgrade), the sanitised-error-response policy, fuzz / soak budget.
tls-strategy.md The TLS backend choice (OpenSSL via FFI for TCP, rustls binding for QUIC (planned)), what stays out-of-tree, version + verification cadence.
threat-model.md Adversary classes (anonymous attacker, authenticated abuser, malicious peer), per-attack mitigations, non-goals, disclosure process, verification cadence.
operations.md Production runbook -- topology choices, TLS posture, health endpoints, graceful shutdown, observability, resource limits, common failure modes, container deployment, soak harness.
concurrency.md The Mojo closure-binding rules flare relies on, the cross-thread primitive surface (Cancel, HandoffQueue, block_in_pool), and the owned-by-one-thread invariant.
cookbook.md Index of files under examples/{basic,intermediate,advanced}/ mapped to use cases.

The public Mojo API is stable within a minor: patch releases never break source for the same minor. Breaking changes only land at minor bumps. Internal types (anything in _*.mojo, or anything in flare.runtime.* not re-exported from the package barrel) carry no stability guarantee.