1use netstack3_sync::rc::ResourceToken;
8
9pub struct TraceResourceId<'a> {
11 #[cfg_attr(not(target_os = "fuchsia"), allow(unused))]
12 token: ResourceToken<'a>,
13}
14
15impl<'a> TraceResourceId<'a> {
16 pub fn new(token: ResourceToken<'a>) -> Self {
18 Self { token }
19 }
20}
21
22#[cfg(target_os = "fuchsia")]
23impl<'a> fuchsia_trace::ArgValue for TraceResourceId<'a> {
24 fn of<'x>(key: &'x str, value: Self) -> fuchsia_trace::Arg<'x>
25 where
26 Self: 'x,
27 {
28 let Self { token } = value;
29 fuchsia_trace::ArgValue::of(key, token.export_value())
30 }
31}