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}