cloudflare/pingora
Glossary
Project-specific vocabulary. Every term here points at the file where it's defined or used.
| Term | Meaning |
|---|---|
| Server | The top-level process owner. Hosts services, manages tokio runtimes, handles signals. pingora-core/src/server/mod.rs. |
| Service | A unit of work owned by the Server. Has its own runtime and (usually) listening sockets. pingora-core/src/services/mod.rs. |
| Background service | A service with no listening socket — periodic work like health checks. pingora-load-balancing/src/background.rs. |
| App / ServerApp | The trait a service uses to handle accepted connections. The HTTP proxy implements HttpServerApp, which extends ServerApp. pingora-core/src/apps/. |
| Session | One side of a single HTTP exchange. ServerSession is downstream, ClientSession is upstream. pingora-core/src/protocols/http/. |
| Peer | The thing you connect to upstream — IP, SNI, TLS settings, optional client cert. HttpPeer for HTTP, BasicPeer for L4. pingora-core/src/upstreams/peer.rs. |
| CTX | A user-defined per-request context, threaded through every ProxyHttp callback. pingora-proxy/src/proxy_trait.rs. |
| Phase | A point in the proxy's request lifecycle where user code can run. See Proxy phases. |
| Filter | A callback that fires at a phase. Most filters return Result<()>; an Err ends the request. |
| TransportStack | The triple (Listener, optional TLS acceptor, listen FD source) that a service runs at startup. pingora-core/src/listeners/. |
| Connector | The outbound-side counterpart to a listener — opens TCP/UDS sockets and (optionally) does TLS. pingora-core/src/connectors/. |
| Module | A pluggable per-request middleware that runs in the context of a session. The built-in module is response compression. pingora-core/src/modules/. |
| Subrequest | A side request triggered from inside a proxy session, e.g. for cache fill or cache purge. pingora-core/src/protocols/http/subrequest/ and pingora-proxy/src/subrequest/. |
| Graceful upgrade | Replacing the running binary by transferring listening file descriptors over a Unix socket to a new process, with no dropped connections. Triggered by SIGQUIT to old + --upgrade on new. pingora-core/src/server/transfer_fd/. |
| Bleep | The internal Cloudflare CI marker file at the repo root. Its presence is checked to bump CI version. |
| MSRV | Minimum supported Rust version. Currently 1.84. Pingora rolls MSRV forward every six months. |
| HttpCache | The state machine that drives caching for one request. pingora-cache/src/lib.rs. |
| CachePhase | The state of HttpCache (Disabled / Uninit / Bypass / CacheKey / Lookup / Hit / Miss / Stale / Revalidating / Expired). |
| NoCacheReason | Tag on CachePhase::Disabled explaining why the cache was skipped. pingora-cache/src/lib.rs. |
| LockStatus | Cache lock state used to coalesce concurrent misses to the same key. pingora-cache/src/lock.rs. |
| Backend | A target address inside a LoadBalancer. pingora-load-balancing/src/lib.rs. |
| Selection | The algorithm a LoadBalancer uses to pick a backend (round robin, weighted, consistent hash). pingora-load-balancing/src/selection/. |
| Discovery | The component that produces the live backend set. Static or dynamic. pingora-load-balancing/src/discovery.rs. |
| Ketama | The consistent-hashing algorithm used by the hash-ring backend selector. pingora-ketama/src/lib.rs. |
| TinyUFO | The TinyLFU-flavored cache admission/eviction algorithm behind pingora-memory-cache. tinyufo/src/lib.rs. |
| HttpTask | A unit of work emitted while reading/writing an HTTP message — header, body chunk, trailer, or end. pingora-core/src/protocols/http/. |
| PurgeType | What kind of purge to apply to a cache entry (default, hint-based, etc.). pingora-cache/src/storage.rs. |
| upgrade_sock | The Unix socket path where graceful upgrades hand off listening FDs. Configured by the upgrade_sock YAML key. |
| work_stealing | Whether the tokio runtime should share work across threads (default true) or use isolated single-threaded runtimes. |
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.