---
title: llarp::layers

---

# llarp::layers



## Namespaces

| Name           |
| -------------- |
| **[llarp::layers::flow](Namespaces/namespacellarp_1_1layers_1_1flow.md)**  |
| **[llarp::layers::onion](Namespaces/namespacellarp_1_1layers_1_1onion.md)**  |
| **[llarp::layers::platform](Namespaces/namespacellarp_1_1layers_1_1platform.md)**  |
| **[llarp::layers::route](Namespaces/namespacellarp_1_1layers_1_1route.md)**  |

## Classes

|                | Name           |
| -------------- | -------------- |
| struct | **[llarp::layers::Layers](Classes/structllarp_1_1layers_1_1Layers.md)** <br>a holder type that abstracts out how lokinet works at each layer.  |

## Functions

|                | Name           |
| -------------- | -------------- |
| std::unique_ptr< const [Layers](Classes/structllarp_1_1layers_1_1Layers.md) > | **[make_layers](Namespaces/namespacellarp_1_1layers.md#function-make-layers)**([AbstractRouter](Classes/structllarp_1_1AbstractRouter.md) & router, const [Config](Classes/structllarp_1_1Config.md) & conf)<br>this lets us hide which implementation we are using durring the refactor  |


## Functions Documentation

### function make_layers

```cpp
std::unique_ptr< const Layers > make_layers(
    AbstractRouter & router,
    const Config & conf
)
```

this lets us hide which implementation we are using durring the refactor 





-------------------------------

Updated on 2023-03-06 at 20:36:34 +0000