pub trait WakeAdapter: Send {
// Required methods
fn kind(&self) -> SessionKind;
fn probe(&self, session: &ProviderSession) -> Result<(), WakeError>;
fn wake(
&mut self,
session: &ProviderSession,
letter: &WakeLetter<'_>,
) -> Result<WakeOutcome, WakeError>;
}Expand description
Vendor/surface-specific wake. One instance per session.
The caller keeps the per-event_id sent set. Implementations must not
spawn a provider, must not answer permission prompts, and must not log
letter.body or a credential.
Required Methods§
Sourcefn kind(&self) -> SessionKind
fn kind(&self) -> SessionKind
Session kind this adapter wakes.
Sourcefn probe(&self, session: &ProviderSession) -> Result<(), WakeError>
fn probe(&self, session: &ProviderSession) -> Result<(), WakeError>
Cheap readiness check (socket exists, server configured, routine key present). Called before register and on every full drive.
Sourcefn wake(
&mut self,
session: &ProviderSession,
letter: &WakeLetter<'_>,
) -> Result<WakeOutcome, WakeError>
fn wake( &mut self, session: &ProviderSession, letter: &WakeLetter<'_>, ) -> Result<WakeOutcome, WakeError>
Puts one letter in front of the session.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".