pub trait TraversalLayer {
fn surface(&self) -> Surface;
fn traverse_next<'life0, 'async_trait>(
&'life0 self,
traversal: Traversal<UltraWave>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn inject<'life0, 'async_trait>(
&'life0 self,
wave: UltraWave
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn exchanger(&self) -> &Exchanger;
fn deliver_directed<'life0, 'async_trait>(
&'life0 self,
direct: Traversal<DirectedWave>
) -> Pin<Box<dyn Future<Output = Result<(), SpaceErr>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: Sync + 'async_trait,
{ ... }
fn deliver_reflected<'life0, 'async_trait>(
&'life0 self,
reflect: Traversal<ReflectedWave>
) -> Pin<Box<dyn Future<Output = Result<(), SpaceErr>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: Sync + 'async_trait,
{ ... }
fn visit<'life0, 'async_trait>(
&'life0 self,
traversal: Traversal<UltraWave>
) -> Pin<Box<dyn Future<Output = Result<(), SpaceErr>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: Sync + 'async_trait,
{ ... }
fn directed_fabric_bound<'life0, 'async_trait>(
&'life0 self,
traversal: Traversal<DirectedWave>
) -> Pin<Box<dyn Future<Output = Result<(), SpaceErr>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: Sync + 'async_trait,
{ ... }
fn directed_core_bound<'life0, 'async_trait>(
&'life0 self,
traversal: Traversal<DirectedWave>
) -> Pin<Box<dyn Future<Output = Result<(), SpaceErr>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: Sync + 'async_trait,
{ ... }
fn reflected_core_bound<'life0, 'async_trait>(
&'life0 self,
traversal: Traversal<ReflectedWave>
) -> Pin<Box<dyn Future<Output = Result<(), SpaceErr>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: Sync + 'async_trait,
{ ... }
fn reflected_fabric_bound<'life0, 'async_trait>(
&'life0 self,
traversal: Traversal<ReflectedWave>
) -> Pin<Box<dyn Future<Output = Result<(), SpaceErr>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: Sync + 'async_trait,
{ ... }
}