Add modifyLookahead to the rti abstraction.
This commit is contained in:
@@ -113,6 +113,12 @@ HLAFederate::queryFederateTime(SGTimeStamp& timeStamp)
|
||||
return _rtiFederate->queryFederateTime(timeStamp);
|
||||
}
|
||||
|
||||
bool
|
||||
HLAFederate::modifyLookahead(const SGTimeStamp& timeStamp)
|
||||
{
|
||||
return _rtiFederate->modifyLookahead(timeStamp);
|
||||
}
|
||||
|
||||
bool
|
||||
HLAFederate::queryLookahead(SGTimeStamp& timeStamp)
|
||||
{
|
||||
|
||||
@@ -59,6 +59,7 @@ public:
|
||||
bool timeAdvanceRequest(const SGTimeStamp& dt);
|
||||
|
||||
bool queryFederateTime(SGTimeStamp& timeStamp);
|
||||
bool modifyLookahead(const SGTimeStamp& timeStamp);
|
||||
bool queryLookahead(SGTimeStamp& timeStamp);
|
||||
|
||||
/// Process messages
|
||||
|
||||
@@ -387,6 +387,8 @@ public:
|
||||
_rtiAmbassador.queryFederateTime(fedTime);
|
||||
timeStamp = toTimeStamp(fedTime);
|
||||
}
|
||||
void modifyLookahead(const SGTimeStamp& timeStamp)
|
||||
{ _rtiAmbassador.modifyLookahead(toFedTime(timeStamp)); }
|
||||
void queryLookahead(SGTimeStamp& timeStamp)
|
||||
{
|
||||
RTIfedTime fedTime;
|
||||
|
||||
@@ -480,6 +480,37 @@ RTI13Federate::queryFederateTime(SGTimeStamp& timeStamp)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
RTI13Federate::modifyLookahead(const SGTimeStamp& timeStamp)
|
||||
{
|
||||
if (!_ambassador.valid()) {
|
||||
SG_LOG(SG_NETWORK, SG_WARN, "RTI: Could not modify lookahead.");
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
_ambassador->modifyLookahead(timeStamp);
|
||||
} catch (RTI::InvalidLookahead& e) {
|
||||
SG_LOG(SG_NETWORK, SG_WARN, "RTI: Could not modify lookahead: " << e._name << " " << e._reason);
|
||||
return false;
|
||||
} catch (RTI::FederateNotExecutionMember& e) {
|
||||
SG_LOG(SG_NETWORK, SG_WARN, "RTI: Could not modify lookahead: " << e._name << " " << e._reason);
|
||||
return false;
|
||||
} catch (RTI::ConcurrentAccessAttempted& e) {
|
||||
SG_LOG(SG_NETWORK, SG_WARN, "RTI: Could not modify lookahead: " << e._name << " " << e._reason);
|
||||
return false;
|
||||
} catch (RTI::SaveInProgress& e) {
|
||||
SG_LOG(SG_NETWORK, SG_WARN, "RTI: Could not modify lookahead: " << e._name << " " << e._reason);
|
||||
return false;
|
||||
} catch (RTI::RestoreInProgress& e) {
|
||||
SG_LOG(SG_NETWORK, SG_WARN, "RTI: Could not modify lookahead: " << e._name << " " << e._reason);
|
||||
return false;
|
||||
} catch (RTI::RTIinternalError& e) {
|
||||
SG_LOG(SG_NETWORK, SG_WARN, "RTI: Could not modify lookahead: " << e._name << " " << e._reason);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
RTI13Federate::queryLookahead(SGTimeStamp& timeStamp)
|
||||
{
|
||||
|
||||
@@ -61,6 +61,7 @@ public:
|
||||
virtual bool timeAdvanceRequest(const SGTimeStamp& fedTime);
|
||||
|
||||
virtual bool queryFederateTime(SGTimeStamp& timeStamp);
|
||||
virtual bool modifyLookahead(const SGTimeStamp& timeStamp);
|
||||
virtual bool queryLookahead(SGTimeStamp& timeStamp);
|
||||
|
||||
/// Process messages
|
||||
|
||||
@@ -66,6 +66,7 @@ public:
|
||||
virtual bool timeAdvanceRequest(const SGTimeStamp& fedTime) = 0;
|
||||
|
||||
virtual bool queryFederateTime(SGTimeStamp& timeStamp) = 0;
|
||||
virtual bool modifyLookahead(const SGTimeStamp& timeStamp) = 0;
|
||||
virtual bool queryLookahead(SGTimeStamp& timeStamp) = 0;
|
||||
|
||||
/// Process messages
|
||||
|
||||
Reference in New Issue
Block a user