helics
3.5.1
|
#include <TimeDependencies.hpp>
class for managing a set of dependencies
|
default |
default constructor
int helics::TimeDependencies::activeDependencyCount | ( | ) | const |
get a count of the active dependencies
bool helics::TimeDependencies::addDependency | ( | GlobalFederateId | gid | ) |
insert a dependency into the structure
References helics::negEpsilon, and helics::timeZero.
bool helics::TimeDependencies::addDependent | ( | GlobalFederateId | gid | ) |
update the info about a dependency based on a message
|
inline |
iterator to first dependency
Referenced by helics::TimeCoordinator::localError().
|
inline |
const iterator to first dependency
|
inline |
const iterator to first dependency
|
inline |
const iterator to first dependency
std::pair< int, std::string > helics::TimeDependencies::checkForIssues | ( | bool | waiting | ) | const |
check the dependency set for any issues
References helics::TimeData::delayedTiming, helics::DependencyInfo::dependency, and helics::DependencyInfo::dependent.
Referenced by helics::TimeCoordinator::enteringExecMode().
bool helics::TimeDependencies::checkIfAllDependenciesArePastExec | ( | bool | iterating | ) | const |
check if all dependencies have passed exec mode and are requesting time
Referenced by helics::TimeCoordinator::checkExecEntry(), and checkIfReadyForExecEntry().
bool helics::TimeDependencies::checkIfReadyForExecEntry | ( | bool | iterating, |
bool | waiting | ||
) | const |
check if the dependencies would allow entry to exec mode
References checkIfAllDependenciesArePastExec().
Referenced by helics::ForwardingTimeCoordinator::checkExecEntry(), helics::GlobalTimeCoordinator::checkExecEntry(), and helics::TimeCoordinator::checkExecEntry().
bool helics::TimeDependencies::checkIfReadyForTimeGrant | ( | bool | iterating, |
Time | desiredGrantTime, | ||
GrantDelayMode | delayMode | ||
) | const |
check if the dependencies would allow a grant of the time
iterating | true if the object is iterating |
desiredGrantTime | the time to check for granting |
References helics::cBigTime, helics::DependencyInfo::dependency, and helics::TimeData::next.
Referenced by helics::TimeCoordinator::checkTimeGrant().
|
inline |
check if there are no dependencies
Referenced by helics::BaseTimeCoordinator::empty(), helics::TimeCoordinator::localError(), and helics::TimeCoordinator::timeRequest().
|
inline |
iterator to end point
|
inline |
const iterator to end point
DependencyInfo * helics::TimeDependencies::getDependencyInfo | ( | GlobalFederateId | gid | ) |
get a pointer to the dependency information for a particular object
const DependencyInfo * helics::TimeDependencies::getDependencyInfo | ( | GlobalFederateId | gid | ) | const |
get a pointer to the dependency information for a particular object
Referenced by helics::TimeCoordinator::checkExecEntry(), and updateTime().
GlobalFederateId helics::TimeDependencies::getMinDependency | ( | ) | const |
get a count of the active dependencies
References helics::cBigTime, helics::DependencyInfo::dependency, helics::DependencyInfo::fedID, helics::GlobalFederateId::isFederate(), and helics::TimeData::next.
bool helics::TimeDependencies::hasActiveTimeDependencies | ( | ) | const |
check if there are active dependencies
bool helics::TimeDependencies::isDependency | ( | GlobalFederateId | ofed | ) | const |
return true if the given federate is already a dependency
bool helics::TimeDependencies::isDependent | ( | GlobalFederateId | ofed | ) | const |
return true if the given federate is already a dependent
void helics::TimeDependencies::removeDependency | ( | GlobalFederateId | gid | ) |
remove dependency from consideration
Referenced by helics::TimeCoordinator::removeDependency().
void helics::TimeDependencies::removeDependent | ( | GlobalFederateId | gid | ) |
remove dependent from consideration
Referenced by helics::TimeCoordinator::removeDependent().
void helics::TimeDependencies::removeInterdependence | ( | GlobalFederateId | gid | ) |
remove an interdependency from consideration
void helics::TimeDependencies::resetDependency | ( | GlobalFederateId | id | ) |
reset a dependency for reentrant connection
References helics::cBigTime.
void helics::TimeDependencies::resetDependentEvents | ( | helics::Time | grantTime | ) |
reset the tdeMin
References helics::DependencyInfo::dependency, helics::TimeData::minDe, helics::TimeData::next, and helics::TimeData::Te.
Referenced by helics::TimeCoordinator::timeRequest().
void helics::TimeDependencies::resetIteratingExecRequests | ( | ) |
reset the iterative exec requests to prepare for the next iteration
References helics::DependencyInfo::dependency.
void helics::TimeDependencies::resetIteratingTimeRequests | ( | helics::Time | requestTime | ) |
reset iterative time requests to prepare for next iteration
requestTime | the time that is being iterated |
References helics::DependencyInfo::dependency.
|
inline |
get the number of dependencies
Referenced by helics::TimeCoordinator::localError(), and helics::TimeCoordinator::updateTimeFactors().
TimeProcessingResult helics::TimeDependencies::updateTime | ( | const ActionMessage & | cmd | ) |
update the info about a dependency based on a message
References getDependencyInfo(), helics::NOT_PROCESSED, and helics::ActionMessage::source_id.
bool helics::TimeDependencies::verifySequenceCounter | ( | Time | tmin, |
std::int32_t | sequenceCount | ||
) |
verify that all the sequence Counters match
Referenced by helics::GlobalTimeCoordinator::updateTimeFactors().