Namespaces | |
collision | |
colour | |
compatibility | |
compression | |
container | |
ecs | |
feature_flags | |
geometry | |
hash | |
internal | |
io | |
morton | |
mpl | |
netcode | |
physx | |
protocol | |
random | |
replication | |
rigidbody | |
serde | |
tcp | |
timer | |
Classes | |
struct | arguments |
The arguments passed to AetherEngine on startup. More... | |
class | aws_bucket |
makes a connection to aws to retrieve objects from an s3 bucket the sercurity is configure using the following environemt variables: More... | |
class | blob |
manages a memory area and provides access to it via an aether::container::span More... | |
class | blob_store |
blob_store is used to fetch a blob object asynchronously from a server. More... | |
class | cell_state |
This is the state of the worker as it pertains to the manager. More... | |
class | closure |
class | closure< R(Args...)> |
struct | default_aabb |
Default formula for calculating Axis Aligned Bounding Box for the given agent. More... | |
struct | default_agent_center |
Default formula for calculating the center of the given agent. More... | |
class | default_handover |
struct | default_sim_state |
This is the default implementation of cell state without using the ecs. More... | |
struct | dimension_traits |
Traits for D-Dimentional morton codes. More... | |
struct | dimension_traits< 2 > |
2-Dimentional morton code traits More... | |
struct | dimension_traits< 3 > |
3-Dimentional morton code traits More... | |
class | entity_based_user_state |
The class defines an interface that should be implemented in order to build an entity based simulation. More... | |
class | entity_based_user_state_adapter |
class | entity_based_user_state_base |
The class makes it simpler to create a simulation by providing default implementations for many functions required by the entity_based_user_state interface. More... | |
class | external_storage_base |
Base class for implementing write access to external storage, used by aether::entity_based_user_state::build_external_storage and aether::global_state_base::build_external_storage. More... | |
class | external_storage_iface |
The interface for implementing write access to extenal storage, used by aether::entity_based_user_state::build_external_storage and aether::global_state_base::build_external_storage. More... | |
class | global_state_base |
A base type for a global state process implementation. More... | |
class | http_store |
makes an anonymous connection to an http or https server to retrieve a blob. More... | |
struct | machine_id |
struct | monostate |
struct | muxer_machine |
struct | muxers_config |
class | null_external_storage |
An empty external storage implementation, used when no external storage is configured. More... | |
class | octree |
The main class of the Aether engine which manages all the processes. More... | |
class | octree_impl |
struct | octree_params_default |
Describes parameters for aether::octree. More... | |
struct | octree_traits |
class | process_allocation |
Describes how many worker processes are supported by each machine and how many are free. More... | |
class | region |
Represents a region in space using discretized coordinates. More... | |
class | run_id |
class | semaphore_guard |
The class semaphore_guard is a posix semaphore wrapper that provides a RAII-style mechanism for owning a semaphore for the duration of a scoped block. More... | |
class | statistics |
class | storage_state |
State of the simulation as seen from external_storage_iface implementation. More... | |
class | user_cell_state_interface |
struct | worker_id |
Represents a worker id, used to identify the different processes. More... | |
Functions | |
void | argument_parse (int argc, char **argv, arguments *arguments) |
Updates the arguments struct with values read from the manager's command line. More... | |
template<typename UserState , typename... Args> | |
auto | build_entity_simulation_manager (const size_t num_workers, const octree_params_default< typename UserState::octree_traits > ¶ms_, Args &&...args) -> octree< octree_params_default< typename UserState::octree_traits >> |
This is a convenience function used to build an object that can be used to manage a simulation. More... | |
std::ostream & | operator<< (std::ostream &os, const worker_id &rhs) |
machine_id | to_machine_id (const hadean::pid_type &p) |
uint8_t | float_to_u8 (float v) |
float | u8_to_float (uint8_t v) |
uint32_t | net_encode_color (const aether::colour::rgb &c) |
struct aether::colour::rgb | net_decode_color (uint32_t c) |
HADEAN_PACK (struct net_quat{float x, y, z, w;}) | |
std::ostream & | operator<< (std::ostream &os, struct net_quat const &q) |
template<typename R > | |
int | read_exact (R &reader, void *_data, size_t count) |
template<typename W > | |
int | write_all (W &writer, const void *data, size_t count) |
template<> | |
int | write_all (container::ring_buffer< char > &buffer, const void *data, size_t count) |
Variables | |
static const int | TCP_SOCKET_ERROR = -1 |
void aether::argument_parse | ( | int | argc, |
char ** | argv, | ||
arguments * | arguments | ||
) |
Updates the arguments struct with values read from the manager's command line.
auto aether::build_entity_simulation_manager | ( | const size_t | num_workers, |
const octree_params_default< typename UserState::octree_traits > & | params_, | ||
Args &&... | args | ||
) | -> octree<octree_params_default<typename UserState::octree_traits>> |
This is a convenience function used to build an object that can be used to manage a simulation.
When called, this function must be parameterised by the type used to hold per-cell simulation state. This type must extend the interface entity_based_user_state. Users may prefer to extent entity_based_user_state_base instead as this provides default implementations for many functions.
num_workers | The number of workers that will be initially spawned to run the simulation. |
params_ | A configuration parameter that can be used to set values such as which Aether features are enabled and load balancing levels. |
args | Multiple additional arguments may be passed here. These arguments will be forwarded to the constructor of the type specified by UserState . These arguments must be capable of being serialized by Aether's serialization framework. Note that the first argument supplied to the constuctor of UserState will be an instance of cell_state, followed by the forwarded arguments. |
|
inline |
aether::HADEAN_PACK | ( | struct net_quat{float x, y, z, w;} | ) |
struct aether::colour::rgb aether::net_decode_color | ( | uint32_t | c | ) |
|
inline |
|
inline |
std::ostream& aether::operator<< | ( | std::ostream & | os, |
const worker_id & | rhs | ||
) |
int aether::read_exact | ( | R & | reader, |
void * | _data, | ||
size_t | count | ||
) |
|
inline |
|
inline |
int aether::write_all | ( | W & | writer, |
const void * | data, | ||
size_t | count | ||
) |
int aether::write_all | ( | container::ring_buffer< char > & | buffer, |
const void * | data, | ||
size_t | count | ||
) |
|
static |