Skip to main content

Module pool

Module pool 

Source
Expand description

Connection Pooling Modes - HeliosProxy

Implements three connection pooling modes for optimized backend connection sharing:

  • Session Mode: 1:1 client-to-backend mapping (current default behavior)
  • Transaction Mode: Return connection to pool after COMMIT/ROLLBACK
  • Statement Mode: Return connection after each statement (most aggressive)

§Feature Flag

This module requires the pool-modes feature flag.

§Usage

use heliosdb_proxy::pool::{PoolingMode, ConnectionPoolManager, PoolModeConfig};

let config = PoolModeConfig {
    default_mode: PoolingMode::Transaction,
    max_pool_size: 100,
    ..Default::default()
};

let manager = ConnectionPoolManager::new(config);
let lease = manager.acquire(client_id, &node).await?;
// Use connection...
manager.release(lease).await;

Re-exports§

pub use config::PoolModeConfig;
pub use hardening::PoolHardening;
pub use hardening::TransactionLeakDetector;
pub use hardening::ConnectionHealthValidator;
pub use hardening::StaleLeaseCleaner;
pub use hardening::PoolExhaustionMonitor;
pub use hardening::HardeningStats;
pub use lease::ConnectionLease;
pub use lease::LeaseAction;
pub use manager::ConnectionPoolManager;
pub use metrics::PoolModeMetrics;
pub use mode::PoolingMode;
pub use mode::PreparedStatementMode;
pub use mode::TransactionEvent;
pub use prepared::PreparedStatementTracker;
pub use reset::ConnectionResetExecutor;
pub use session::SessionModeHandler;
pub use statement::StatementModeHandler;
pub use transaction::TransactionModeHandler;

Modules§

config
Pool Mode Configuration
hardening
Connection Pool Hardening
lease
Connection Lease Management
manager
Connection Pool Manager
metrics
Pool Mode Metrics
mode
Pooling Mode Definitions
prepared
Prepared Statement Tracker
reset
Connection Reset Executor
session
Session Mode Handler
statement
Statement Mode Handler
transaction
Transaction Mode Handler