pub fn add_layer<L>(&mut self, layer: L) -> LayerKey<L>
    where
        L: Layer,
    {
        let index = self.layer.len();

        self.layer.push(Box::new(layer));

        LayerKey {
            index,
            m: PhantomData::<fn() -> L>,
        }
    }
/// Add a implementation of [`Layer`] to the endpoint.
///
/// Note that the insertion order is relevant in how the SIP Stack may react to requests,
/// as its the same order in that modules are called on incoming requests.
///
/// Returns a [`LayerKey`] which can later be used to access the added layer.
Add a implementation of [`Layer`] to the endpoint.
Note that the insertion order is relevant in how the SIP Stack may react to requests,
as its the same order in that modules are called on incoming requests.

Returns a [`LayerKey`] which can later be used to access the added layer.
Add a implementation of [ ` Layer ` ] to the endpoint . Note that the insertion order is relevant in how the SIP Stack may react to requests as its the same order in that modules are called on incoming requests . Returns a [ ` LayerKey ` ] which can later be used to access the added layer .
pub fn add_layer<L>(&mut self, layer: L) -> LayerKey<L>
    where
        L: Layer,
    {
        let index = self.layer.len();
        self.layer.push(Box::new(layer));
        LayerKey {
            index,
            m: PhantomData::<fn() -> L>,
        }
    }
pub fn add_layer < L > ( & mut self , layer : L ) -> LayerKey < L > where L : Layer , { let index = self . layer . len ( ) ; self . layer . push ( Box :: new ( layer ) ) ; LayerKey { index , m : PhantomData :: < fn ( ) -> L > , } }
Add a implementation of [`Layer`] to the endpoint.
Add a implementation of [ ` Layer ` ] to the endpoint .
&mut self
layer
L