---
title: llarp/simulation/sim_context.hpp

---

# llarp/simulation/sim_context.hpp



## Namespaces

| Name           |
| -------------- |
| **[llarp](Namespaces/namespacellarp.md)** <br>[crypto.hpp] |
| **[llarp::simulate](Namespaces/namespacellarp_1_1simulate.md)**  |

## Classes

|                | Name           |
| -------------- | -------------- |
| struct | **[llarp::simulate::Simulation](Classes/structllarp_1_1simulate_1_1Simulation.md)**  |




## Source code

```cpp
#pragma once
#include <llarp/crypto/crypto_libsodium.hpp>
#include <llarp/ev/ev.hpp>

namespace llarp
{
  // forward declair
  struct Context;
  using Node_ptr = std::shared_ptr<llarp::Context>;

  namespace simulate
  {
    struct Simulation : public std::enable_shared_from_this<Simulation>
    {
      Simulation();

      llarp::CryptoManager m_CryptoManager;
      EventLoop_ptr m_NetLoop;

      std::unordered_map<std::string, Node_ptr> m_Nodes;

      void
      NodeUp(llarp::Context* node);

      Node_ptr
      AddNode(const std::string& name);

      void
      DelNode(const std::string& name);
    };

    using Sim_ptr = std::shared_ptr<Simulation>;
  }  // namespace simulate
}  // namespace llarp
```


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

Updated on 2022-10-17 at 13:14:51 +0000
