pub trait ConnectionLifecycle {
// Required methods
fn register_hook(&mut self, hook: Arc<dyn ConnectionLifecycleHook>);
fn connect(&self) -> IntegrationResult<()>;
fn disconnect(&self) -> IntegrationResult<()>;
}pub trait ConnectionLifecycle {
// Required methods
fn register_hook(&mut self, hook: Arc<dyn ConnectionLifecycleHook>);
fn connect(&self) -> IntegrationResult<()>;
fn disconnect(&self) -> IntegrationResult<()>;
}