v0.2.11-pre.003
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-offchain-transport-lib/src/lib.rs
|
||||
// version: 3
|
||||
// version: 4
|
||||
|
||||
#![warn(missing_docs)]
|
||||
#![deny(unreachable_pub)]
|
||||
@@ -7,19 +7,48 @@
|
||||
|
||||
//! KSP-owned off-chain transport foundation.
|
||||
//!
|
||||
//! `0.2.11-pre.002` opens the first deliberately narrow capability family: `market_price`, currently limited to exact SOL/USD values, provider-neutral
|
||||
//! observations, provider descriptors, common provider settings and generic availability/rate-limit metadata. The crate itself is deliberately broader than
|
||||
//! market prices: future off-chain capabilities such as amount-specific swap quotes belong to separate capability families instead of extending the
|
||||
//! `market_price_*` modules. Shared transport/runtime concerns stay crate-wide. No provider wire type, HTTP client, provider SDK, Config dependency or active
|
||||
//! rate limiter is introduced by this tranche.
|
||||
//! `0.2.11-pre.003` keeps the first capability family deliberately narrow (`market_price`, SOL/USD only) while materializing crate-wide hardened HTTP REST
|
||||
//! primitives and non-blocking local admission/cooldown machinery. These `http_*` internals are shared transport mechanics for future off-chain capability
|
||||
//! families such as `swap_quote_*`; they are intentionally not re-exported as a generic consumer HTTP client. Provider wire DTOs, provider adapters, Config
|
||||
//! integration and refresh orchestration remain outside this tranche.
|
||||
|
||||
mod constants;
|
||||
mod error;
|
||||
#[allow(dead_code)] // Staged in pre.003 and consumed by provider adapters starting in pre.004.
|
||||
mod http_admission;
|
||||
#[allow(dead_code)] // Staged in pre.003 and consumed by provider adapters starting in pre.004.
|
||||
mod http_client;
|
||||
#[allow(dead_code)] // Staged in pre.003 and consumed by provider adapters starting in pre.004.
|
||||
mod http_settings;
|
||||
mod market_price_decimal;
|
||||
mod market_price_observation;
|
||||
mod market_price_provider;
|
||||
mod market_price_settings;
|
||||
|
||||
/// Stable error code for HTTP access denial.
|
||||
pub use self::error::ERROR_CODE_HTTP_ACCESS_DENIED;
|
||||
/// Stable error code for hardened HTTP client initialization failure.
|
||||
pub use self::error::ERROR_CODE_HTTP_CLIENT_BUILD_FAILED;
|
||||
/// Stable error code for an off-chain HTTP connection failure.
|
||||
pub use self::error::ERROR_CODE_HTTP_CONNECTION_FAILED;
|
||||
/// Stable error code for a syntactically invalid JSON response.
|
||||
pub use self::error::ERROR_CODE_HTTP_INVALID_JSON;
|
||||
/// Stable error code for an invalid local HTTP rate-limit policy.
|
||||
pub use self::error::ERROR_CODE_HTTP_RATE_LIMIT_INVALID;
|
||||
/// Stable error code for HTTP 429 rate limiting.
|
||||
pub use self::error::ERROR_CODE_HTTP_RATE_LIMITED;
|
||||
/// Stable error code for a generic unsuccessful HTTP request.
|
||||
pub use self::error::ERROR_CODE_HTTP_REQUEST_FAILED;
|
||||
/// Stable error code for an invalid crate-owned HTTP request definition.
|
||||
pub use self::error::ERROR_CODE_HTTP_REQUEST_INVALID;
|
||||
/// Stable error code for an oversized HTTP response body.
|
||||
pub use self::error::ERROR_CODE_HTTP_RESPONSE_TOO_LARGE;
|
||||
/// Stable error code for invalid crate-wide HTTP runtime settings.
|
||||
pub use self::error::ERROR_CODE_HTTP_SETTINGS_INVALID;
|
||||
/// Stable error code for temporary HTTP provider failures.
|
||||
pub use self::error::ERROR_CODE_HTTP_TEMPORARY_FAILURE;
|
||||
/// Stable error code for end-to-end HTTP timeout.
|
||||
pub use self::error::ERROR_CODE_HTTP_TIMEOUT;
|
||||
/// Stable error code for an invalid exact decimal price.
|
||||
pub use self::error::ERROR_CODE_MARKET_PRICE_DECIMAL_INVALID;
|
||||
/// Stable error code for an invalid provider-neutral observation.
|
||||
@@ -79,3 +108,19 @@ pub use self::market_price_settings::MarketPriceProviderCommonSettings;
|
||||
|
||||
/// Owning tracing target for events emitted by Off-chain Transport.
|
||||
pub(crate) use self::constants::TRACING_TARGET;
|
||||
/// Maximum provider-directed cooldown accepted from a server `Retry-After` value.
|
||||
pub(crate) use self::http_admission::HTTP_MAX_RETRY_AFTER;
|
||||
/// Crate-internal non-blocking request-admission controller.
|
||||
pub(crate) use self::http_admission::HttpAdmissionController;
|
||||
/// Crate-internal result of one immediate request-admission attempt.
|
||||
pub(crate) use self::http_admission::HttpAdmissionDecision;
|
||||
/// Crate-internal provider-neutral local request-admission policy.
|
||||
pub(crate) use self::http_admission::HttpAdmissionPolicy;
|
||||
/// Crate-internal fixed-origin GET request with redacted diagnostics.
|
||||
pub(crate) use self::http_client::HttpGetRequest;
|
||||
/// Crate-internal bounded syntactically valid JSON response document.
|
||||
pub(crate) use self::http_client::HttpJsonDocument;
|
||||
/// Crate-internal hardened REST client shared by capability adapters.
|
||||
pub(crate) use self::http_client::HttpRestClient;
|
||||
/// Crate-internal bounded HTTP runtime settings.
|
||||
pub(crate) use self::http_settings::HttpClientSettings;
|
||||
|
||||
Reference in New Issue
Block a user