replicode
Public Member Functions | Private Member Functions | Private Attributes | List of all members
r_exec::CSTController Class Reference

#include <cst_controller.h>

Inheritance diagram for r_exec::CSTController:
Inheritance graph
Collaboration diagram for r_exec::CSTController:
Collaboration graph

Public Member Functions

 CSTController (r_code::View *view)
 
 ~CSTController ()
 
void take_input (r_exec::View *input)
 
void reduce (r_exec::View *input)
 
Factget_f_ihlp (HLPBindingMap *bindings, bool wr_enabled) const
 
Factget_f_icst (HLPBindingMap *bindings, std::vector< P< _Fact > > *inputs) const
 
void inject_icst (Fact *production, double confidence, uint64_t time_to_live) const
 
bool inject_prediction (Fact *prediction, double confidence, uint64_t time_to_live) const
 
void set_secondary_host (Group *host)
 
Groupget_secondary_host () const
 
- Public Member Functions inherited from r_exec::HLPController
virtual ~HLPController ()
 
void invalidate ()
 
Codeget_core_object () const
 
Codeget_unpacked_object () const
 
void add_requirement (bool strong)
 
void remove_requirement (bool strong)
 
uint64_t get_requirement_count (uint64_t &weak_requirement_count, uint64_t &strong_requirement_count)
 
uint64_t get_requirement_count ()
 
void store_evidence (_Fact *evidence)
 
void store_predicted_evidence (_Fact *evidence)
 
uint16_t get_out_group_count () const
 
Codeget_out_group (uint16_t i) const
 
Groupget_host () const
 
bool has_tpl_args () const
 
void inject_prediction (Fact *prediction, double confidence) const
 
- Public Member Functions inherited from r_exec::OController
virtual ~OController ()
 
- Public Member Functions inherited from r_exec::Controller
virtual ~Controller ()
 
uint64_t get_tsc ()
 
bool is_invalidated ()
 
void activate (bool a)
 
bool is_activated () const
 
bool is_alive () const
 
r_code::CodegetObject () const
 
r_exec::ViewgetView () const
 
void _take_input (r_exec::View *input)
 
virtual void gain_activation ()
 
virtual void lose_activation ()
 
void set_view (View *view)
 
void debug (View *input)
 
- Public Member Functions inherited from core::_Object
virtual ~_Object ()
 
void incRef ()
 
virtual void decRef ()
 

Private Member Functions

void abduce (HLPBindingMap *bm, Fact *super_goal)
 
void inject_goal (HLPBindingMap *bm, Fact *super_goal, _Fact *sub_goal_target, Sim *sim, uint64_t now, double confidence, Code *group) const
 
void kill_views ()
 
void check_last_match_time (bool match)
 

Private Attributes

Groupsecondary_host
 
std::mutex m_mutex
 

Additional Inherited Members

- Protected Member Functions inherited from r_exec::HLPController
template<class E >
void _store_evidence (Cache< E > *cache, _Fact *evidence)
 
bool evaluate_bwd_guards (HLPBindingMap *bm)
 
MatchResult check_evidences (_Fact *target, _Fact *&evidence)
 
MatchResult check_predicted_evidences (_Fact *target, _Fact *&evidence)
 
bool is_orphan ()
 
bool become_invalidated ()
 
 HLPController (r_code::View *view)
 
- Protected Member Functions inherited from r_exec::OController
 OController (r_code::View *view)
 
- Protected Member Functions inherited from r_exec::Controller
template<class C >
void __take_input (r_exec::View *input)
 
 Controller (r_code::View *view)
 
- Protected Member Functions inherited from core::_Object
 _Object ()
 
- Protected Attributes inherited from r_exec::HLPController
Cache< EEntryevidences
 
Cache< PEEntrypredicted_evidences
 
P< HLPBindingMapbindings
 
bool _has_tpl_args
 
uint64_t ref_count
 
std::vector< P< HLPController > > controllers
 
uint64_t last_match_time
 
- Protected Attributes inherited from r_exec::OController
r_code::list< P< Overlay > > overlays
 
- Protected Attributes inherited from r_exec::Controller
volatile uint64_t invalidated
 
volatile uint64_t activated
 
uint64_t tsc
 
r_code::Viewview
 
std::mutex m_reductionMutex
 
- Protected Attributes inherited from core::_Object
std::atomic_int_fast64_t refCount
 

Constructor & Destructor Documentation

r_exec::CSTController::CSTController ( r_code::View view)

Here is the call graph for this function:

r_exec::CSTController::~CSTController ( )

Member Function Documentation

void r_exec::CSTController::abduce ( HLPBindingMap bm,
Fact super_goal 
)
private

Here is the call graph for this function:

Here is the caller graph for this function:

void r_exec::CSTController::check_last_match_time ( bool  match)
privatevirtual

Implements r_exec::HLPController.

Here is the call graph for this function:

Here is the caller graph for this function:

Fact * r_exec::CSTController::get_f_icst ( HLPBindingMap bindings,
std::vector< P< _Fact > > *  inputs 
) const

Here is the call graph for this function:

Fact * r_exec::CSTController::get_f_ihlp ( HLPBindingMap bindings,
bool  wr_enabled 
) const
virtual

Implements r_exec::HLPController.

Here is the call graph for this function:

Here is the caller graph for this function:

Group * r_exec::CSTController::get_secondary_host ( ) const
void r_exec::CSTController::inject_goal ( HLPBindingMap bm,
Fact super_goal,
_Fact sub_goal_target,
Sim sim,
uint64_t  now,
double  confidence,
Code group 
) const
private

Here is the call graph for this function:

Here is the caller graph for this function:

void r_exec::CSTController::inject_icst ( Fact production,
double  confidence,
uint64_t  time_to_live 
) const

Here is the call graph for this function:

bool r_exec::CSTController::inject_prediction ( Fact prediction,
double  confidence,
uint64_t  time_to_live 
) const

Here is the call graph for this function:

void r_exec::CSTController::kill_views ( )
privatevirtual

Reimplemented from r_exec::HLPController.

Here is the call graph for this function:

Here is the caller graph for this function:

void r_exec::CSTController::reduce ( r_exec::View input)

Here is the call graph for this function:

void r_exec::CSTController::set_secondary_host ( Group host)

Here is the caller graph for this function:

void r_exec::CSTController::take_input ( r_exec::View input)
virtual

Reimplemented from r_exec::Controller.

Here is the call graph for this function:

Member Data Documentation

std::mutex r_exec::CSTController::m_mutex
private
Group* r_exec::CSTController::secondary_host
private

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