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