rialo-limits 0.5.0-alpha.0

Limits of the Rialo network.
Documentation
// Copyright (c) Subzero Labs, Inc.
// SPDX-License-Identifier: Apache-2.0

//! Default limits for WASM component execution.

use std::time::Duration;

/// Default WASM instructions (fuel) allowed per component execution.
pub const WASM_DEFAULT_MAX_FUEL: u64 = 50_000_000;

/// Default memory limit for a WASM component instance (256 MB).
pub const WASM_DEFAULT_MAX_MEMORY_BYTES: usize = 256 * 1024 * 1024;

/// Default execution timeout for a WASM component.
pub const WASM_DEFAULT_EXECUTION_TIMEOUT: Duration = Duration::from_secs(30);

/// Default maximum WebSocket connections per WASM component instance.
pub const WASM_DEFAULT_MAX_WEBSOCKET_CONNECTIONS: usize = 5;

/// Default maximum WebSocket message size from a WASM component (1 MB).
pub const WASM_DEFAULT_MAX_WEBSOCKET_MESSAGE_SIZE: usize = 1_048_576;

/// Default maximum number of compiled WASM components to cache.
pub const WASM_DEFAULT_CACHE_MAX_ENTRIES: usize = 100;

/// Default maximum HTTP requests per WASM component execution.
pub const WASM_DEFAULT_MAX_HTTP_REQUESTS: u32 = 10;

/// Default maximum HTTP response body size for WASM component requests (1 MB).
pub const WASM_DEFAULT_MAX_HTTP_RESPONSE_SIZE: usize = 1_048_576;

/// Default maximum HTTP request body size for WASM component POST requests (1 MB).
pub const WASM_DEFAULT_MAX_HTTP_REQUEST_BODY_SIZE: usize = 1_048_576;

/// Default maximum HTTP request timeout in milliseconds for WASM components (30 seconds).
pub const WASM_DEFAULT_MAX_HTTP_TIMEOUT_MS: u32 = 30_000;

/// Default maximum log message size in bytes from a WASM component.
pub const WASM_DEFAULT_MAX_LOG_MESSAGE_SIZE: usize = 4096;