fpmas-metamodel 1.0
Loading...
Searching...
No Matches
Static Public Member Functions | Static Public Attributes | List of all members
ReaderWriter Struct Reference

#include <interactions.h>

Static Public Member Functions

static void read_all (const fpmas::model::Neighbors< fpmas::api::model::Agent > &neighbors)
 
static void write_all (fpmas::model::Neighbors< fpmas::api::model::Agent > &neighbors)
 
static void read_one (const fpmas::model::Neighbors< fpmas::api::model::Agent > &neighbors)
 
static void write_one (fpmas::model::Neighbors< fpmas::api::model::Agent > &neighbors)
 
static void read_all_write_all (fpmas::model::Neighbors< fpmas::api::model::Agent > &neighbors)
 
static void read_all_write_one (fpmas::model::Neighbors< fpmas::api::model::Agent > &neighbors)
 

Static Public Attributes

static fpmas::utils::perf::Probe local_read_probe
 
static fpmas::utils::perf::Probe local_write_probe
 
static fpmas::utils::perf::Probe distant_read_probe
 
static fpmas::utils::perf::Probe distant_write_probe
 

Detailed Description

Generic implementation of read/write behaviors defined is Interactions.

The read TargetAgent type could normally be any MetaAgent or MetaCell type, but currently only read/write operations among MetaGraphCells or MetaGridCells are supported by the MetaModel.

Member Function Documentation

◆ read_all()

static void ReaderWriter::read_all ( const fpmas::model::Neighbors< fpmas::api::model::Agent > &  neighbors)
static

Applies a ReadGuard on all neighbors.

Parameters
neighborslist of neighbors to interact with

◆ write_all()

static void ReaderWriter::write_all ( fpmas::model::Neighbors< fpmas::api::model::Agent > &  neighbors)
static

Applies an AcquireGuard on all neighbors.

Parameters
neighborslist of neighbors to interact with

◆ read_one()

static void ReaderWriter::read_one ( const fpmas::model::Neighbors< fpmas::api::model::Agent > &  neighbors)
static

Applies a ReadGuard on a randomly selected neighbor, using the random_interactions generator.

Parameters
neighborslist of neighbors to interact with

◆ write_one()

static void ReaderWriter::write_one ( fpmas::model::Neighbors< fpmas::api::model::Agent > &  neighbors)
static

Applies an AcquireGuard on a randomly selected neighbor, using the random_interactions generator.

Parameters
neighborslist of neighbors to interact with

◆ read_all_write_all()

static void ReaderWriter::read_all_write_all ( fpmas::model::Neighbors< fpmas::api::model::Agent > &  neighbors)
static

Applies read_all(), then write_all().

Parameters
neighborslist of neighbors to interact with

◆ read_all_write_one()

static void ReaderWriter::read_all_write_one ( fpmas::model::Neighbors< fpmas::api::model::Agent > &  neighbors)
static

Applies read_all(), then write_one().

Parameters
neighborslist of neighbors to interact with

Member Data Documentation

◆ local_read_probe

fpmas::utils::perf::Probe ReaderWriter::local_read_probe
static

Probe used to measure the time passed in ReadGuards for read operations between two LOCAL agents.

◆ local_write_probe

fpmas::utils::perf::Probe ReaderWriter::local_write_probe
static

Probe used to measure the time passed in AcquireGuards for write operations between two LOCAL agents.

◆ distant_read_probe

fpmas::utils::perf::Probe ReaderWriter::distant_read_probe
static

Probe used to measure the time passed in ReadGuards for read operations between two DISTANT agents.

◆ distant_write_probe

fpmas::utils::perf::Probe ReaderWriter::distant_write_probe
static

Probe used to measure the time passed in AcquireGuards for write operations between two DISTANT agents.


The documentation for this struct was generated from the following file: