Trait mongodb::event::sdam::SdamEventHandler   
source · pub trait SdamEventHandler: Send + Sync {
    // Provided methods
    fn handle_server_description_changed_event(
        &self,
        _event: ServerDescriptionChangedEvent
    ) { ... }
    fn handle_server_opening_event(&self, _event: ServerOpeningEvent) { ... }
    fn handle_server_closed_event(&self, _event: ServerClosedEvent) { ... }
    fn handle_topology_description_changed_event(
        &self,
        _event: TopologyDescriptionChangedEvent
    ) { ... }
    fn handle_topology_opening_event(&self, _event: TopologyOpeningEvent) { ... }
    fn handle_topology_closed_event(&self, _event: TopologyClosedEvent) { ... }
    fn handle_server_heartbeat_started_event(
        &self,
        _event: ServerHeartbeatStartedEvent
    ) { ... }
    fn handle_server_heartbeat_succeeded_event(
        &self,
        _event: ServerHeartbeatSucceededEvent
    ) { ... }
    fn handle_server_heartbeat_failed_event(
        &self,
        _event: ServerHeartbeatFailedEvent
    ) { ... }
}Expand description
Applications can implement this trait to specify custom logic to run on each SDAM event sent by the driver.
struct FailedHeartbeatLogger;
impl SdamEventHandler for FailedHeartbeatLogger {
    fn handle_server_heartbeat_failed_event(&self, event: ServerHeartbeatFailedEvent) {
        eprintln!("Failed server heartbeat: {:?}", event);
    }
}
let handler: Arc<dyn SdamEventHandler> = Arc::new(FailedHeartbeatLogger);
let options = ClientOptions::builder()
                  .sdam_event_handler(handler)
                  .build();
let client = Client::with_options(options)?;
// Do things with the client, and failed server heartbeats will be logged to stderr.Provided Methods§
sourcefn handle_server_description_changed_event(
    &self,
    _event: ServerDescriptionChangedEvent
)
 
fn handle_server_description_changed_event( &self, _event: ServerDescriptionChangedEvent )
A Client will call this method on each registered handler when
a server description changes.
sourcefn handle_server_opening_event(&self, _event: ServerOpeningEvent)
 
fn handle_server_opening_event(&self, _event: ServerOpeningEvent)
A Client will call this method on each registered handler when
a server is initialized.
sourcefn handle_server_closed_event(&self, _event: ServerClosedEvent)
 
fn handle_server_closed_event(&self, _event: ServerClosedEvent)
A Client will call this method on each registered handler when
a server is closed.
sourcefn handle_topology_description_changed_event(
    &self,
    _event: TopologyDescriptionChangedEvent
)
 
fn handle_topology_description_changed_event( &self, _event: TopologyDescriptionChangedEvent )
A Client will call this method on each registered handler when
its topology description changes.
sourcefn handle_topology_opening_event(&self, _event: TopologyOpeningEvent)
 
fn handle_topology_opening_event(&self, _event: TopologyOpeningEvent)
A Client will call this method on each registered handler when
its topology is initialized.
sourcefn handle_topology_closed_event(&self, _event: TopologyClosedEvent)
 
fn handle_topology_closed_event(&self, _event: TopologyClosedEvent)
sourcefn handle_server_heartbeat_started_event(
    &self,
    _event: ServerHeartbeatStartedEvent
)
 
fn handle_server_heartbeat_started_event( &self, _event: ServerHeartbeatStartedEvent )
A Client will call this method on each registered handler when
a server heartbeat begins.
sourcefn handle_server_heartbeat_succeeded_event(
    &self,
    _event: ServerHeartbeatSucceededEvent
)
 
fn handle_server_heartbeat_succeeded_event( &self, _event: ServerHeartbeatSucceededEvent )
A Client will call this method on each registered handler when
a server heartbeat succeeds.
sourcefn handle_server_heartbeat_failed_event(
    &self,
    _event: ServerHeartbeatFailedEvent
)
 
fn handle_server_heartbeat_failed_event( &self, _event: ServerHeartbeatFailedEvent )
A Client will call this method on each registered handler when
a server heartbeat fails.