[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[certi-cvs] certi/RTIA TimeManagement.cc
From: |
certi-cvs |
Subject: |
[certi-cvs] certi/RTIA TimeManagement.cc |
Date: |
Wed, 30 Apr 2008 17:01:09 +0000 |
CVSROOT: /sources/certi
Module name: certi
Changes by: Eric NOULARD <erk> 08/04/30 17:01:09
Modified files:
RTIA : TimeManagement.cc
Log message:
Try to avoid round-off error using RTIfedTime._epsilon
First try for "easy fix" of
bug #23090 : UpdateAttributeValues throws InvalidFederationTime
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/TimeManagement.cc?cvsroot=certi&r1=3.33&r2=3.34
Patches:
Index: TimeManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/TimeManagement.cc,v
retrieving revision 3.33
retrieving revision 3.34
diff -u -b -r3.33 -r3.34
--- TimeManagement.cc 26 Apr 2008 14:59:41 -0000 3.33
+++ TimeManagement.cc 30 Apr 2008 17:01:09 -0000 3.34
@@ -18,7 +18,7 @@
// along with this program ; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// $Id: TimeManagement.cc,v 3.33 2008/04/26 14:59:41 erk Exp $
+// $Id: TimeManagement.cc,v 3.34 2008/04/30 17:01:09 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -668,27 +668,30 @@
bool
TimeManagement::testValidTime(FederationTime theTime)
{
+ RTIfedTime epsilon;
+
+ epsilon.setEpsilon();
if (_avancee_en_cours == PAS_D_AVANCEE) {
if (_type_granted_state == AFTER_TAR_OR_NER_WITH_ZERO_LK) {
if (theTime <= _heure_courante)
- return 0;
+ return false;
}
else { // AFTER_TAR_OR_NER or AFTER_TARA_OR_NARA
- if (theTime < _heure_courante + _lookahead_courant)
- return 0;
+ if (theTime + epsilon.getTime() < _heure_courante +
_lookahead_courant)
+ return false;
}
}
else {
if (_type_granted_state == AFTER_TAR_OR_NER_WITH_ZERO_LK) {
if (theTime <= date_avancee)
- return 0;
+ return false;
}
else { // AFTER_TAR_OR_NER or AFTER_TARA_OR_NARA
- if (theTime < date_avancee + _lookahead_courant)
- return 0;
+ if (theTime + epsilon.getTime() < date_avancee + _lookahead_courant)
+ return false;
}
}
- return 1;
+ return true;
}
// ----------------------------------------------------------------------------
@@ -918,4 +921,4 @@
}} // namespaces
-// $Id: TimeManagement.cc,v 3.33 2008/04/26 14:59:41 erk Exp $
+// $Id: TimeManagement.cc,v 3.34 2008/04/30 17:01:09 erk Exp $
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [certi-cvs] certi/RTIA TimeManagement.cc,
certi-cvs <=