Crate pingora_core

source ·
Expand description

§Pingora

Pingora is a collection of service frameworks and network libraries battle-tested by the Internet. It is to build robust, scalable and secure network infrastructures and services at Internet scale.

§Features

  • Http 1.x and Http 2
  • Modern TLS with OpenSSL or BoringSSL (FIPS compatible)
  • Zero downtime upgrade

§Usage

This crate provides low level service and protocol implementation and abstraction.

If looking to build a (reverse) proxy, see pingora-proxy crate.

§Optional features

boringssl: Switch the internal TLS library from OpenSSL to BoringSSL.

Re-exports§

Modules§

  • The abstraction and implementation interface for service application logic
  • Connecting to servers
  • The listening endpoints (TCP and TLS) and their configurations.
  • Modules to extend the functionalities of pingora services.
  • Abstractions and implementations for protocols including TCP, TLS and HTTP
  • Server process and configuration management
  • The service interface
  • The interface to connect to a remote server
  • This module contains various types that make it easier to work with bytes and X509 certificates.

Structs§

  • The struct that represents an error

Enums§

  • The source of the error
  • Predefined type of errors
  • A data struct that holds either immutable string or reference to static str. Compared to String or Box<str>, it avoids memory allocation on static str.
  • Whether the request can be retried after encountering this error

Traits§

  • Helper trait to add more context to a given error
  • Error is a trait representing the basic expectations for error values, i.e., values of type E in Result<T, E>.
  • Helper trait to chain errors with context

Type Aliases§