+RTI13Federate::ProcessMessageResult
+RTI13Federate::_tick()
+{
+ if (!_ambassador.valid()) {
+ SG_LOG(SG_NETWORK, SG_WARN, "RTI: Ambassador is zero while calling _tick().");
+ return ProcessMessageFatal;
+ }
+
+ try {
+ if (_ambassador->tick())
+ return ProcessMessagePending;
+ return ProcessMessageLast;
+ } catch (RTI::SpecifiedSaveLabelDoesNotExist& e) {
+ SG_LOG(SG_NETWORK, SG_WARN, "RTI: Specified save label does not exist: " << e._name << " " << e._reason);
+ return ProcessMessageFatal;
+ } catch (RTI::ConcurrentAccessAttempted& e) {
+ SG_LOG(SG_NETWORK, SG_WARN, "RTI: Concurrent access attempted: " << e._name << " " << e._reason);
+ return ProcessMessageFatal;
+ } catch (RTI::RTIinternalError& e) {
+ SG_LOG(SG_NETWORK, SG_WARN, "RTI: Internal error: " << e._name << " " << e._reason);
+ return ProcessMessageFatal;
+ }
+ return ProcessMessageFatal;
+}
+
+RTI13Federate::ProcessMessageResult
+RTI13Federate::_tick(const double& minimum, const double& maximum)
+{
+ if (!_ambassador.valid()) {
+ SG_LOG(SG_NETWORK, SG_WARN, "RTI: Ambassador is zero while calling _tick().");
+ return ProcessMessageFatal;
+ }
+
+ try {
+ if (_ambassador->tick(minimum, maximum))
+ return ProcessMessagePending;
+ return ProcessMessageLast;
+ } catch (RTI::SpecifiedSaveLabelDoesNotExist& e) {
+ SG_LOG(SG_NETWORK, SG_WARN, "RTI: Specified save label does not exist: " << e._name << " " << e._reason);
+ return ProcessMessageFatal;
+ } catch (RTI::ConcurrentAccessAttempted& e) {
+ SG_LOG(SG_NETWORK, SG_WARN, "RTI: Concurrent access attempted: " << e._name << " " << e._reason);
+ return ProcessMessageFatal;
+ } catch (RTI::RTIinternalError& e) {
+ SG_LOG(SG_NETWORK, SG_WARN, "RTI: Internal error: " << e._name << " " << e._reason);
+ return ProcessMessageFatal;
+ }
+ return ProcessMessageFatal;
+}
+
+