spacegate_kernel/utils/fold_box_layers.rs
1use crate::{ArcHyperService, BoxLayer};
2
3/// Fold layers into a single service,
4/// the order of the layers is reversed.
5pub fn fold_layers<'a>(layers: impl std::iter::DoubleEndedIterator<Item = &'a BoxLayer>, mut inner: ArcHyperService) -> ArcHyperService {
6 for l in layers.rev() {
7 inner = l.layer_shared(inner);
8 }
9 inner
10}