pub struct EmergencyDiagnosticHandle { /* private fields */ }Implementations§
Source§impl EmergencyDiagnosticHandle
impl EmergencyDiagnosticHandle
pub fn snapshot(&self) -> DiagnosticOutputSnapshot
Sourcepub fn submit(&self, diagnostic: &Diagnostic) -> DiagnosticSubmission
pub fn submit(&self, diagnostic: &Diagnostic) -> DiagnosticSubmission
Enqueued means accepted in memory, NOT written or durable.
Examples found in repository?
examples/diagnostic_source.rs (line 35)
29fn main() {
30 // The application must pass its already resolved logging.directory here.
31 let mut output =
32 EmergencyDiagnostics::start(&FileLoggingConfig::default()).expect("emergency worker");
33 let error = source_failure(&std::io::Error::from_raw_os_error(2));
34 if let Some(diagnostic) = error.diagnostic() {
35 let _admission_only = output.handle().submit(diagnostic);
36 }
37 // Illustrative bounded host wait; Runtime must use its EXISTING deadline.
38 let deadline = std::time::Instant::now() + std::time::Duration::from_secs(1);
39 while output.shutdown() == DiagnosticShutdown::Pending && std::time::Instant::now() < deadline {
40 std::thread::sleep(std::time::Duration::from_millis(1));
41 }
42 // Inspect written/first_failure + target; Enqueued alone never proves delivery.
43 let _status = output.snapshot();
44}pub fn submit_context( &self, diagnostic: &Diagnostic, context: Option<(&CallContext, &EventContext)>, ) -> DiagnosticSubmission
Trait Implementations§
Source§impl Clone for EmergencyDiagnosticHandle
impl Clone for EmergencyDiagnosticHandle
Source§fn clone(&self) -> EmergencyDiagnosticHandle
fn clone(&self) -> EmergencyDiagnosticHandle
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for EmergencyDiagnosticHandle
impl RefUnwindSafe for EmergencyDiagnosticHandle
impl Send for EmergencyDiagnosticHandle
impl Sync for EmergencyDiagnosticHandle
impl Unpin for EmergencyDiagnosticHandle
impl UnsafeUnpin for EmergencyDiagnosticHandle
impl UnwindSafe for EmergencyDiagnosticHandle
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more