aether::arguments Struct Reference

The arguments passed to AetherEngine on startup. More...

#include <arguments.hh>

Public Member Functions

template<class T >
octree_params_default< T > to_octree_params ()
 This utility function will create an octree_params_default object that can be used to initialise the octree. More...
 

Public Attributes

Manager

These arguments are used by the managers.

uint64_t workers = 8
 Number of workers to spawn into the pool. More...
 
uint64_t ticks = 0
 Number of ticks for the simulation to run. More...
 
bool realtime = true
 If realtime is set to true, Aether runs at a steady tick rate, otherwise it will run as fast as possible. More...
 
std::vector< aether::tcp::service_location > muxers
 List of the muxers that are available. More...
 
Octree

These arguments are used by the octree.

std::optional< uint64_t > tickrate
 Controls the number of ticks per second that the simulation runs at. More...
 
std::optional< uint64_t > cell_level
 This controls the size of the initial worker. More...
 
aether::log::level log_level = aether::log::level::INFO
 This controls the simulation log level. More...
 
uint32_t flags = 0
 This is used to store the feature flags. More...
 
std::vector< std::string > user_args
 

Detailed Description

The arguments passed to AetherEngine on startup.

This class contains the core parameters that are required by Aether to start up. It is also used to generate the octree_params_default which can then be modified further.

Member Function Documentation

template<class T >
octree_params_default<T> aether::arguments::to_octree_params ( )
inline

This utility function will create an octree_params_default object that can be used to initialise the octree.

Member Data Documentation

std::optional<uint64_t> aether::arguments::cell_level

This controls the size of the initial worker.

The side length is 2^cell_level.

uint32_t aether::arguments::flags = 0

This is used to store the feature flags.

aether::log::level aether::arguments::log_level = aether::log::level::INFO

This controls the simulation log level.

std::vector<aether::tcp::service_location> aether::arguments::muxers

List of the muxers that are available.

bool aether::arguments::realtime = true

If realtime is set to true, Aether runs at a steady tick rate, otherwise it will run as fast as possible.

std::optional<uint64_t> aether::arguments::tickrate

Controls the number of ticks per second that the simulation runs at.

uint64_t aether::arguments::ticks = 0

Number of ticks for the simulation to run.

0 can be used to simulate infinitely.

std::vector<std::string> aether::arguments::user_args
uint64_t aether::arguments::workers = 8

Number of workers to spawn into the pool.