pub trait TraceRecorderExt<TAK: AttrKeyIndex, EAK: AttrKeyIndex> {
// Required methods
fn startup_task_handle(&self) -> Result<ObjectHandle, Error>;
fn object_handle(&self, obj_name: &str) -> Option<ObjectHandle>;
fn timeline_details(
&self,
handle: ContextHandle,
startup_task_name: Option<&str>
) -> Result<TimelineDetails<TAK>, Error>;
fn setup_common_timeline_attrs<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
cfg: &'life1 TraceRecorderConfig,
client: &'life2 mut Client<TAK, EAK>
) -> Pin<Box<dyn Future<Output = Result<HashMap<InternedAttrKey, AttrVal>, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
}