1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// devela::run::regime::service
//
//! Runtime service capability traits.
//!
//! Defines [`RunService`] for reporting the currently known capabilities of a
//! runtime service, and [`RunServiceProbe`] for services that can actively
//! refresh that information.
//
use crate::;
/// Reports runtime service metadata.
///
/// A run service is an execution-facing backend, frontend, driver,
/// or platform adapter that can describe the capabilities it currently exposes.
///
/// Capability reporting is intentionally passive:
/// [`run_capabilities`] returns the currently known snapshot
/// and should not perform probing, blocking I/O, or backend mutation.
///
/// Use [`RunServiceProbe`] when a service can actively refresh its capability snapshot.
///
/// [`run_capabilities`]: Self::run_capabilities
/// Actively refreshes runtime service capabilities.
///
/// This extension trait is for services whose capabilities may require probing,
/// querying, negotiation, or backend interaction.
///
/// Implementations may perform I/O, mutate cached service state,
/// or fail while refreshing the capability snapshot.