Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
r_exec::MemStatic Class Reference

#include <mem.h>

Inheritance diagram for r_exec::MemStatic:
Inheritance graph
Collaboration diagram for r_exec::MemStatic:
Collaboration graph

Public Member Functions

virtual ~MemStatic ()
void delete_object (r_code::Code *object)
r_comp::Imageget_objects ()
- Public Member Functions inherited from r_exec::_Mem
virtual ~_Mem ()
void init (uint64_t base_period, uint64_t reduction_core_count, uint64_t time_core_count, double mdl_inertia_sr_thr, uint64_t mdl_inertia_cnt_thr, double tpx_dsr_thr, uint64_t min_sim_time_horizon, uint64_t max_sim_time_horizon, double sim_time_horizon, uint64_t tpx_time_horizon, uint64_t perf_sampling_period, double float_tolerance, uint64_t time_tolerance, uint64_t primary_thz, uint64_t secondary_thz, bool debug, uint64_t ntf_mk_res, uint64_t goal_pred_success_res, uint64_t probe_level, uint64_t traces)
uint64_t get_probe_level () const
double get_mdl_inertia_sr_thr () const
uint64_t get_mdl_inertia_cnt_thr () const
double get_tpx_dsr_thr () const
uint64_t get_min_sim_time_horizon () const
uint64_t get_max_sim_time_horizon () const
uint64_t get_sim_time_horizon (uint64_t horizon) const
uint64_t get_tpx_time_horizon () const
uint64_t get_primary_thz () const
uint64_t get_secondary_thz () const
bool get_debug () const
uint64_t get_ntf_mk_res () const
uint64_t get_goal_pred_success_res (Group *host, uint64_t now, uint64_t time_to_live) const
Codeget_root () const
Codeget_stdin () const
Codeget_stdout () const
Codeget_self () const
State check_state ()
void start_core ()
void shutdown_core ()
bool load (std::vector< r_code::Code * > *objects, uint64_t stdin_oid, uint64_t stdout_oid, uint64_t self_oid)
uint64_t start ()
void stop ()
_ReductionJobpopReductionJob ()
void pushReductionJob (_ReductionJob *j)
TimeJobpopTimeJob ()
void pushTimeJob (TimeJob *j)
void inject (View *view)
void inject_async (View *view)
void inject_new_object (View *view)
void inject_existing_object (View *view, Code *object, Group *host)
void inject_null_program (Controller *c, Group *group, uint64_t time_to_live, bool take_past_inputs)
void inject_hlps (std::vector< View * > views, Group *destination)
void inject_notification (View *view, bool lock)
virtual Codecheck_existence (Code *object)=0
void propagate_sln (Code *object, double change, double source_sln_thr)
void inject_copy (View *view, Group *destination)
void register_reduction_job_latency (uint64_t latency)
void register_time_job_latency (uint64_t latency)
void inject_perf_stats ()
virtual void eject (View *view, uint16_t nodeID)
virtual void eject (Code *command)
virtual r_code::Code_build_object (Atom head) const =0
virtual r_code::Codebuild_object (Atom head) const =0
void unpack_hlp (Code *hlp) const
Codeunpack_fact (Code *hlp, uint16_t fact_index) const
Codeunpack_fact_object (Code *hlp, uint16_t fact_object_index) const
void pack_hlp (Code *hlp) const
void pack_fact (Code *fact, Code *hlp, uint16_t &write_index, std::vector< P< Code > > *references) const
void pack_fact_object (Code *fact_object, Code *hlp, uint16_t &write_index, std::vector< P< Code > > *references) const
Codeclone (Code *original) const
r_comp::Imageget_models ()
- Public Member Functions inherited from r_code::Mem
virtual Codebuild_object (SysObject *source) const =0

Protected Member Functions

 MemStatic ()
- Protected Member Functions inherited from r_exec::_Mem
void init_timings (uint64_t now) const
void store (Code *object)
 _Mem ()
void _unpack_code (Code *hlp, uint16_t fact_object_index, Code *fact_object, uint16_t read_index) const
- Protected Member Functions inherited from r_code::Mem
 Mem ()

Private Member Functions

void bind (View *view)
void set_last_oid (int64_t oid)

Private Attributes

std::mutex m_objectsMutex
uint64_t last_oid

Additional Inherited Members

- Public Types inherited from r_exec::_Mem
enum  State { NOT_STARTED = 0, RUNNING = 1, STOPPED = 2 }
enum  STDGroupID { STDIN = 0, STDOUT = 1 }
enum  TraceLevel {
  CST_IN = 0, CST_OUT = 1, MDL_IN = 2, MDL_OUT = 3,
  PRED_MON = 4, GOAL_MON = 5, MDL_REV = 6, HLP_INJ = 7
- Static Public Member Functions inherited from r_exec::_Mem
static _MemGet ()
static std::ostream & Output (TraceLevel l)
- Static Public Member Functions inherited from r_code::Mem
static MemGet ()
- Protected Attributes inherited from r_exec::_Mem
uint64_t base_period
uint64_t reduction_core_count
uint64_t time_core_count
double mdl_inertia_sr_thr
uint64_t mdl_inertia_cnt_thr
double tpx_dsr_thr
uint64_t min_sim_time_horizon
uint64_t max_sim_time_horizon
double sim_time_horizon
uint64_t tpx_time_horizon
uint64_t perf_sampling_period
double float_tolerance
uint64_t time_tolerance
uint64_t primary_thz
uint64_t secondary_thz
bool debug
uint64_t ntf_mk_res
uint64_t goal_pred_success_res
uint64_t probe_level
JobQueue< _ReductionJobm_reductionJobQueue
JobQueue< TimeJobm_timeJobQueue
std::mutex m_timeJobMutex
std::mutex m_reductionJobMutex
std::vector< std::thread > m_coreThreads
uint64_t reduction_job_count
uint64_t reduction_job_avg_latency
uint64_t _reduction_job_avg_latency
uint64_t time_job_count
uint64_t time_job_avg_latency
uint64_t _time_job_avg_latency
std::atomic< uint64_tm_coreCount
std::condition_variable m_coresRunning
std::mutex m_coreCountMutex
State state
std::mutex m_stateMutex
r_code::list< P< Code > > objects
P< Group_root
std::vector< Group * > initial_groups
bool deleted
ostream * debug_streams [8]
- Static Protected Attributes inherited from r_exec::_Mem
static const uint64_t DebugStreamCount = 8
- Static Protected Attributes inherited from r_code::Mem
static MemSingleton = NULL

Constructor & Destructor Documentation

r_exec::MemStatic::MemStatic ( )
r_exec::MemStatic::~MemStatic ( )

Member Function Documentation

void r_exec::MemStatic::bind ( View view)

Implements r_exec::_Mem.

Here is the call graph for this function:

void r_exec::MemStatic::delete_object ( r_code::Code object)

Implements r_code::Mem.

Here is the call graph for this function:

r_comp::Image * r_exec::MemStatic::get_objects ( )

Implements r_exec::_Mem.

Here is the call graph for this function:

void r_exec::MemStatic::set_last_oid ( int64_t  oid)

Implements r_exec::_Mem.

Member Data Documentation

uint64_t r_exec::MemStatic::last_oid
std::mutex r_exec::MemStatic::m_objectsMutex

The documentation for this class was generated from the following files: