certi-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[certi-cvs] certi RTIA/ObjectManagement.cc RTIA/ObjectManag...


From: certi-cvs
Subject: [certi-cvs] certi RTIA/ObjectManagement.cc RTIA/ObjectManag...
Date: Thu, 13 Mar 2008 14:39:19 +0000

CVSROOT:        /sources/certi
Module name:    certi
Changes by:     Pierre Siron <siron>    08/03/13 14:39:19

Modified files:
        RTIA           : ObjectManagement.cc ObjectManagement.hh RTIA.cc 
                         RTIA_federate.cc TimeManagement.cc 
                         TimeManagement.hh 
        libCERTI       : Message_R.cc Message_W.cc 
        libRTI         : RTIambassador.cc 

Log message:
        First implementation of zero lookahead time management services
        (NERA & TARA addition, NER & TAR update). See task #6898.
        Be careful, the Object Management services generate more exceptions
        (invalid time for a UAV or SI with bad timestamps).

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/ObjectManagement.cc?cvsroot=certi&r1=3.35&r2=3.36
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/ObjectManagement.hh?cvsroot=certi&r1=3.19&r2=3.20
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/RTIA.cc?cvsroot=certi&r1=3.13&r2=3.14
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/RTIA_federate.cc?cvsroot=certi&r1=3.67&r2=3.68
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/TimeManagement.cc?cvsroot=certi&r1=3.29&r2=3.30
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/TimeManagement.hh?cvsroot=certi&r1=3.13&r2=3.14
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Message_R.cc?cvsroot=certi&r1=3.17&r2=3.18
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Message_W.cc?cvsroot=certi&r1=3.20&r2=3.21
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTIambassador.cc?cvsroot=certi&r1=3.72&r2=3.73

Patches:
Index: RTIA/ObjectManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/ObjectManagement.cc,v
retrieving revision 3.35
retrieving revision 3.36
diff -u -b -r3.35 -r3.36
--- RTIA/ObjectManagement.cc    5 Mar 2008 15:33:50 -0000       3.35
+++ RTIA/ObjectManagement.cc    13 Mar 2008 14:39:18 -0000      3.36
@@ -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: ObjectManagement.cc,v 3.35 2008/03/05 15:33:50 rousse Exp $
+// $Id: ObjectManagement.cc,v 3.36 2008/03/13 14:39:18 siron Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -29,6 +29,7 @@
 #include "ObjectManagement.hh"
 #include "FederationManagement.hh"
 #include "PrettyDebug.hh"
+#include "TimeManagement.hh"
 
 #ifdef _WIN32
 #include <windows.h>
@@ -58,6 +59,7 @@
 
 ObjectManagement::~ObjectManagement() { }
 
+
 // ----------------------------------------------------------------------------
 //! registerObject
 ObjectHandle
@@ -112,6 +114,10 @@
 {
     NetworkMessage req, rep ;
     int i ;
+    bool validCall ;
+
+    validCall = tm->testValidTime(theTime) ;
+    if (validCall) {
 
     // Building request (req NetworkMessage)
     req.type = NetworkMessage::UPDATE_ATTRIBUTE_VALUES ;
@@ -135,6 +141,9 @@
     comm->waitMessage(&rep, NetworkMessage::UPDATE_ATTRIBUTE_VALUES, 
req.federate);
 
     e = rep.exception ;
+    }
+    else
+       e = e_InvalidFederationTime ;
 
     return rep.eventRetraction ;
 }
@@ -274,6 +283,11 @@
                                   TypeException &e)
 {
     NetworkMessage req, rep ;
+    bool validCall ;
+
+    validCall = tm->testValidTime(theTime) ;
+    if (validCall) {
+
     G.Out(pdGendoc,"ObjectManagement::sendInteraction with time") ;
     // Local test to know if interaction is correct.
     rootObject->Interactions->isReady(fm->federate,
@@ -306,6 +320,10 @@
 
     e = rep.exception ;
 
+    }
+    else
+       e = e_InvalidFederationTime ;
+
     return rep.eventRetraction ;
 }
 
@@ -785,4 +803,4 @@
 
 }} // namespace certi/rtia
 
-// $Id: ObjectManagement.cc,v 3.35 2008/03/05 15:33:50 rousse Exp $
+// $Id: ObjectManagement.cc,v 3.36 2008/03/13 14:39:18 siron Exp $

Index: RTIA/ObjectManagement.hh
===================================================================
RCS file: /sources/certi/certi/RTIA/ObjectManagement.hh,v
retrieving revision 3.19
retrieving revision 3.20
diff -u -b -r3.19 -r3.20
--- RTIA/ObjectManagement.hh    5 Mar 2008 15:33:50 -0000       3.19
+++ RTIA/ObjectManagement.hh    13 Mar 2008 14:39:19 -0000      3.20
@@ -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: ObjectManagement.hh,v 3.19 2008/03/05 15:33:50 rousse Exp $
+// $Id: ObjectManagement.hh,v 3.20 2008/03/13 14:39:19 siron Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef _CERTI_RTIA_OM
@@ -35,6 +35,7 @@
 class Communications ;
 class Queues ;
 class FederationManagement ;
+class TimeManagement ;
 
 class ObjectManagement
 {
@@ -214,15 +215,18 @@
 
     ObjectClassHandle getObjectClass(ObjectHandle);
 
+    TimeManagement *tm ;
+
 protected:
     Communications *comm ;
     Queues *queues ;
     FederationManagement *fm ;
     RootObject *rootObject ;
+
 };
 
 }} // namespace certi/rtia
 
 #endif // _CERTI_RTIA_OM
 
-// $Id: ObjectManagement.hh,v 3.19 2008/03/05 15:33:50 rousse Exp $
+// $Id: ObjectManagement.hh,v 3.20 2008/03/13 14:39:19 siron Exp $

Index: RTIA/RTIA.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/RTIA.cc,v
retrieving revision 3.13
retrieving revision 3.14
diff -u -b -r3.13 -r3.14
--- RTIA/RTIA.cc        14 Jun 2007 13:00:20 -0000      3.13
+++ RTIA/RTIA.cc        13 Mar 2008 14:39:19 -0000      3.14
@@ -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: RTIA.cc,v 3.13 2007/06/14 13:00:20 siron Exp $
+// $Id: RTIA.cc,v 3.14 2008/03/13 14:39:19 siron Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -53,6 +53,7 @@
 
     fm->tm = tm ;
     queues->fm = fm ;
+    om->tm = tm ;
 }
 
 // ----------------------------------------------------------------------------
@@ -160,4 +161,4 @@
 
 }} // namespace certi/rtia
 
-// $Id: RTIA.cc,v 3.13 2007/06/14 13:00:20 siron Exp $
+// $Id: RTIA.cc,v 3.14 2008/03/13 14:39:19 siron Exp $

Index: RTIA/RTIA_federate.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/RTIA_federate.cc,v
retrieving revision 3.67
retrieving revision 3.68
diff -u -b -r3.67 -r3.68
--- RTIA/RTIA_federate.cc       6 Mar 2008 16:33:09 -0000       3.67
+++ RTIA/RTIA_federate.cc       13 Mar 2008 14:39:19 -0000      3.68
@@ -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: RTIA_federate.cc,v 3.67 2008/03/06 16:33:09 rousse Exp $
+// $Id: RTIA_federate.cc,v 3.68 2008/03/13 14:39:19 siron Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -696,6 +696,13 @@
         tm->timeAdvanceRequest(req->getFederationTime(), e);
         break ;
 
+      case Message::TIME_ADVANCE_REQUEST_AVAILABLE:
+        D.Out(pdTrace,
+              "Receiving Message from Federate, type 
TimeAdvanceRequestAvailable.");
+
+        tm->timeAdvanceRequestAvailable(req->getFederationTime(), e);
+        break ;
+
       case Message::NEXT_EVENT_REQUEST:
         D.Out(pdTrace,
               "Receiving Message from Federate, type NestEventRequest.");
@@ -703,6 +710,13 @@
         tm->nextEventRequest(req->getFederationTime(), e);
         break ;
 
+      case Message::NEXT_EVENT_REQUEST_AVAILABLE:
+        D.Out(pdTrace,
+              "Receiving Message from Federate, type 
NestEventRequestAvailable.");
+
+        tm->nextEventRequestAvailable(req->getFederationTime(), e);
+        break ;
+
       case Message::FLUSH_QUEUE_REQUEST:
         e = e_UnimplementedService ;
         break ;
@@ -1304,4 +1318,4 @@
 
 }} // namespace certi/rtia
 
-// $Id: RTIA_federate.cc,v 3.67 2008/03/06 16:33:09 rousse Exp $
+// $Id: RTIA_federate.cc,v 3.68 2008/03/13 14:39:19 siron Exp $

Index: RTIA/TimeManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/TimeManagement.cc,v
retrieving revision 3.29
retrieving revision 3.30
diff -u -b -r3.29 -r3.30
--- RTIA/TimeManagement.cc      5 Mar 2008 15:33:50 -0000       3.29
+++ RTIA/TimeManagement.cc      13 Mar 2008 14:39:19 -0000      3.30
@@ -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.29 2008/03/05 15:33:50 rousse Exp $
+// $Id: TimeManagement.cc,v 3.30 2008/03/13 14:39:19 siron Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -32,7 +32,7 @@
 
 PrettyDebug D("RTIA_TM", __FILE__);
 static PrettyDebug G("GENDOC",__FILE__) ;
-const double epsilon = 1.0e-9 ;
+const double epsilon = 1.0e-6 ;
 
 }
 
@@ -45,10 +45,12 @@
 {
     switch(_avancee_en_cours) {
       case TAR:
+      case TARA:
         D.Out(pdTrace, "Call to TimeAdvance.");
         timeAdvance(msg_restant, e);
         break ;
       case NER:
+      case NERA:
         D.Out(pdTrace, "Call to NextEventAdvance.");
         nextEventAdvance(msg_restant, e);
         break ;
@@ -84,7 +86,7 @@
     _asynchronous_delivery = false ;
 
     _heure_courante = 0.0 ;
-    _lookahead_courant = epsilon ;
+    _lookahead_courant = 0.0 ;
     _est_regulateur = false ;
     _est_contraint = false ;
 }
@@ -95,18 +97,17 @@
 {
     NetworkMessage msg ;
 
-    msg.date = heure_logique ;
     heure_logique += _lookahead_courant ;
 
     if (heure_logique > lastNullMessageDate) {
         msg.type = NetworkMessage::MESSAGE_NULL ;
         msg.federation = fm->_numero_federation ;
         msg.federate = fm->federate ;
-        msg.date = heure_logique ; // ? See 6 lines upper !
+        msg.date = heure_logique ;
 
         comm->sendMessage(&msg);
         lastNullMessageDate = heure_logique ;
-        D.Out(pdDebug, "NULL message sent.");
+        D.Out(pdDebug, "NULL message sent (Time = %f).", heure_logique) ;
     }
     else {
         D.Out(pdExcept, "NULL message not sent (Time = %f, Last = %f).",
@@ -470,11 +471,21 @@
     if (_avancee_en_cours != PAS_D_AVANCEE)
         e = e_TimeAdvanceAlreadyInProgress ;
 
-    if (heure_logique <= _heure_courante)
+    if (heure_logique < _heure_courante)
         e = e_FederationTimeAlreadyPassed ;
 
+    if (heure_logique < _heure_courante + _lookahead_courant)
+       e = e_InvalidFederationTime ;
 
     if (e == e_NO_EXCEPTION) {
+
+        _type_granted_state = AFTER_TAR_OR_NER ;  // will be
+
+        if (_lookahead_courant == 0.0) {
+           _lookahead_courant = epsilon ;
+           _type_granted_state = AFTER_TAR_OR_NER_WITH_ZERO_LK ;
+        }
+
         _avancee_en_cours = NER ;
         date_avancee = heure_logique ;
         D.Out(pdTrace, "NextEventRequest accepted.");
@@ -485,23 +496,44 @@
 }
 
 // ----------------------------------------------------------------------------
+void
+TimeManagement::nextEventRequestAvailable(FederationTime heure_logique,
+                                 TypeException &e)
+{
+    e = e_NO_EXCEPTION ;
+
+    // Verifications
+
+    if (_avancee_en_cours != PAS_D_AVANCEE)
+        e = e_TimeAdvanceAlreadyInProgress ;
+
+    if (heure_logique < _heure_courante)
+        e = e_FederationTimeAlreadyPassed ;
+
+    if (heure_logique < _heure_courante + _lookahead_courant)
+       e = e_InvalidFederationTime ;
+
+    if (e == e_NO_EXCEPTION) {
+        _type_granted_state = AFTER_TARA_OR_NERA ;  // will be
+        _avancee_en_cours = NERA ;
+        date_avancee = heure_logique ;
+        D.Out(pdTrace, "NextEventRequestAvailable accepted.");
+    }
+    else {
+        D.Out(pdExcept, "NextEventRequestAvailable refused (exception = %d).", 
e);
+    }
+}
+
+// ----------------------------------------------------------------------------
 FederationTime
 TimeManagement::requestFederationTime()
 {
-    if (_heure_courante < _LBTS)
-        return _heure_courante ;
-    else
         return _LBTS ;
 }
 
 // ----------------------------------------------------------------------------
 FederationTimeDelta TimeManagement::requestLookahead()
 {
-    // BUG: C'est quoi cette salade ?
-
-    if (_heure_courante + _lookahead_courant < lastNullMessageDate)
-        return(lastNullMessageDate - _heure_courante);
-    else
         return _lookahead_courant ;
 }
 
@@ -534,7 +566,7 @@
 
     // Verifications
 
-    if (lookahead <= 0.0)
+    if (lookahead < 0.0)
         e = e_InvalidFederationTimeDelta ;
 
 
@@ -626,6 +658,35 @@
 }
 
 // ----------------------------------------------------------------------------
+/*! Is the time stamp of a time advance request correct ?
+*/
+bool
+TimeManagement::testValidTime(FederationTime theTime)
+{
+   if (_avancee_en_cours == PAS_D_AVANCEE) {
+      if (_type_granted_state == AFTER_TAR_OR_NER_WITH_ZERO_LK) {
+         if (theTime <= _heure_courante)
+            return 0;
+      }
+      else {  // AFTER_TAR_OR_NER or AFTER_TARA_OR_NARA
+         if (theTime < _heure_courante + _lookahead_courant)
+            return 0;
+      }
+   }
+   else {
+      if (_type_granted_state == AFTER_TAR_OR_NER_WITH_ZERO_LK) {
+         if (theTime <= date_avancee)
+            return 0;
+      }
+      else {  // AFTER_TAR_OR_NER or AFTER_TARA_OR_NARA
+         if (theTime < date_avancee + _lookahead_courant)
+            return 0;
+      }
+   }
+   return 1;
+}
+
+// ----------------------------------------------------------------------------
 /*! Federate calls either nextEventRequest or timeAdvanceRequest to determine
   which time to attain. It then calls tick() until a timeAdvanceGrant is
   made.
@@ -712,9 +773,11 @@
                D.Out(pdDebug, "Logical time : %f, LBTS : infini, lookahead : 
%f.",
                      date_avancee, _lookahead_courant);
             else
-               D.Out(pdDebug, "Logical time : %f, LBTS : %lf, lookahead : %f.",
+               D.Out(pdDebug, "Logical time : %15.12f, LBTS : %15.12f, 
lookahead : %f.",
                      date_avancee, _LBTS, _lookahead_courant);
-            if (date_avancee < _LBTS) {
+
+            if ((date_avancee < _LBTS) || 
+               ((date_avancee == _LBTS) && (_avancee_en_cours == TARA))) {
                 // send a timeAdvanceGrant to federate.
                 timeAdvanceGrant(date_avancee, e);
 
@@ -731,7 +794,7 @@
         }
     }
     else {
-        // if federate is not constrained, sent a timeAdvanceGrant to federate.
+        // if federate is not constrained, send a timeAdvanceGrant to federate.
         timeAdvanceGrant(date_avancee, e);
         if (e != e_NO_EXCEPTION)
             return ;
@@ -756,6 +819,9 @@
     D.Out(pdRegister, "timeAdvanceGrant sent to federate (time = %f).",
           req.getFederationTime());
 
+    if (_lookahead_courant == epsilon)
+       _lookahead_courant = 0.0 ;
+
     _ongoing_tick = false ;  // end of the blocking tick, a message is 
delivered
     _tick_request_ack = false ;
 
@@ -780,11 +846,21 @@
     if (_avancee_en_cours != PAS_D_AVANCEE)
         e = e_TimeAdvanceAlreadyInProgress ;
 
-    if (logical_time <= _heure_courante)
+    if (logical_time < _heure_courante)
         e = e_FederationTimeAlreadyPassed ;
 
+    if (logical_time < _heure_courante + _lookahead_courant)
+       e = e_InvalidFederationTime ;
 
     if (e == e_NO_EXCEPTION) {
+
+        _type_granted_state = AFTER_TAR_OR_NER ;  // will be
+
+        if (_lookahead_courant == 0.0) {
+           _lookahead_courant = epsilon ;
+           _type_granted_state = AFTER_TAR_OR_NER_WITH_ZERO_LK ;
+        }
+
         if (_est_regulateur)
             sendNullMessage(logical_time);
 
@@ -799,6 +875,43 @@
     }
 }
 
+
+void
+TimeManagement::timeAdvanceRequestAvailable(FederationTime logical_time,
+                                   TypeException &e)
+{
+    e = e_NO_EXCEPTION ;
+
+    // Verifications
+
+    if (_avancee_en_cours != PAS_D_AVANCEE)
+        e = e_TimeAdvanceAlreadyInProgress ;
+
+    if (logical_time < _heure_courante)
+        e = e_FederationTimeAlreadyPassed ;
+
+    if (logical_time < _heure_courante + _lookahead_courant)
+       e = e_InvalidFederationTime ;
+
+    if (e == e_NO_EXCEPTION) {
+
+        _type_granted_state = AFTER_TARA_OR_NERA ;  // will be
+
+        if (_est_regulateur)
+            sendNullMessage(logical_time);
+
+        _avancee_en_cours = TARA ;
+        date_avancee = logical_time ;
+
+        D.Out(pdTrace, "timeAdvanceRequestAvailable accepted (asked time=%f).",
+              date_avancee);
+    }
+    else {
+        D.Out(pdExcept, "timeAdvanceRequestAvailable refused (exception = 
%d).", e);
+    }
+}
+
+
 }} // namespaces
 
-// $Id: TimeManagement.cc,v 3.29 2008/03/05 15:33:50 rousse Exp $
+// $Id: TimeManagement.cc,v 3.30 2008/03/13 14:39:19 siron Exp $

Index: RTIA/TimeManagement.hh
===================================================================
RCS file: /sources/certi/certi/RTIA/TimeManagement.hh,v
retrieving revision 3.13
retrieving revision 3.14
diff -u -b -r3.13 -r3.14
--- RTIA/TimeManagement.hh      26 Feb 2008 08:56:10 -0000      3.13
+++ RTIA/TimeManagement.hh      13 Mar 2008 14:39:19 -0000      3.14
@@ -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.hh,v 3.13 2008/02/26 08:56:10 siron Exp $
+// $Id: TimeManagement.hh,v 3.14 2008/03/13 14:39:19 siron Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef CERTI_RTIA_TIME_MANAGEMENT_HH
@@ -58,9 +58,17 @@
 typedef enum {
     PAS_D_AVANCEE=1,
     TAR, // TimeAdvanceRequest
-    NER // NextEventRequest
+    NER, // NextEventRequest
+    TARA, // TimeAdvanceRequestAvailable
+    NERA // NextEventRequestAvailable
 } TypeAvancee ;
 
+typedef enum {
+    AFTER_TAR_OR_NER=1,
+    AFTER_TAR_OR_NER_WITH_ZERO_LK,
+    AFTER_TARA_OR_NERA
+} TypeGrantedState ;
+
 class TimeManagement : public LBTS
 {
 public:
@@ -73,8 +81,11 @@
 
     // Advance Time Methods
     void nextEventRequest(FederationTime heure_logique, TypeException &e);
+    void nextEventRequestAvailable(FederationTime heure_logique, TypeException 
&e);
     bool tick(TypeException &e);
     void timeAdvanceRequest(FederationTime heure_logique, TypeException &e);
+    void timeAdvanceRequestAvailable(FederationTime heure_logique, 
TypeException &e);
+    bool testValidTime(FederationTime theTime);
 
     // Change Federate Time State
     void setLookahead(FederationTimeDelta lookahead, TypeException &e);
@@ -121,16 +132,18 @@
     /// Type/date from last request (timeAdvance, nextEvent, flushQueue)
     TypeAvancee _avancee_en_cours ;
     FederationTime date_avancee ;
+    TypeGrantedState _type_granted_state ; 
 
     // Federate Data
     FederationTime _heure_courante ;
     FederationTimeDelta _lookahead_courant ;
     bool _est_regulateur ;
     bool _est_contraint ;
+
 };
 
 }} // namespace certi/rtia
 
 #endif // CERTI_RTIA_TIME_MANAGEMENT_HH
 
-// $Id: TimeManagement.hh,v 3.13 2008/02/26 08:56:10 siron Exp $
+// $Id: TimeManagement.hh,v 3.14 2008/03/13 14:39:19 siron Exp $

Index: libCERTI/Message_R.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/Message_R.cc,v
retrieving revision 3.17
retrieving revision 3.18
diff -u -b -r3.17 -r3.18
--- libCERTI/Message_R.cc       5 Mar 2008 15:33:50 -0000       3.17
+++ libCERTI/Message_R.cc       13 Mar 2008 14:39:19 -0000      3.18
@@ -17,7 +17,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: Message_R.cc,v 3.17 2008/03/05 15:33:50 rousse Exp $
+// $Id: Message_R.cc,v 3.18 2008/03/13 14:39:19 siron Exp $
 // ----------------------------------------------------------------------------
 
 
@@ -637,7 +637,9 @@
       case QUERY_MIN_NEXT_EVENT_TIME:
       case QUERY_FEDERATE_TIME:
       case TIME_ADVANCE_REQUEST:
+      case TIME_ADVANCE_REQUEST_AVAILABLE:
       case NEXT_EVENT_REQUEST:
+      case NEXT_EVENT_REQUEST_AVAILABLE:
       case TIME_ADVANCE_GRANT:
         break ;
 
@@ -756,4 +758,4 @@
 
 } // namespace certi
 
-// $Id: Message_R.cc,v 3.17 2008/03/05 15:33:50 rousse Exp $
+// $Id: Message_R.cc,v 3.18 2008/03/13 14:39:19 siron Exp $

Index: libCERTI/Message_W.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/Message_W.cc,v
retrieving revision 3.20
retrieving revision 3.21
diff -u -b -r3.20 -r3.21
--- libCERTI/Message_W.cc       5 Mar 2008 15:33:50 -0000       3.20
+++ libCERTI/Message_W.cc       13 Mar 2008 14:39:19 -0000      3.21
@@ -17,7 +17,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: Message_W.cc,v 3.20 2008/03/05 15:33:50 rousse Exp $
+// $Id: Message_W.cc,v 3.21 2008/03/13 14:39:19 siron Exp $
 // ----------------------------------------------------------------------------
 
 
@@ -667,7 +667,9 @@
       case QUERY_MIN_NEXT_EVENT_TIME:
       case QUERY_FEDERATE_TIME:
       case TIME_ADVANCE_REQUEST:
+      case TIME_ADVANCE_REQUEST_AVAILABLE:
       case NEXT_EVENT_REQUEST:
+      case NEXT_EVENT_REQUEST_AVAILABLE:
       case TIME_ADVANCE_GRANT:
         header.bodySize = 0 ;
         break ;
@@ -737,4 +739,4 @@
 
 } // namespace certi
 
-// $Id: Message_W.cc,v 3.20 2008/03/05 15:33:50 rousse Exp $
+// $Id: Message_W.cc,v 3.21 2008/03/13 14:39:19 siron Exp $

Index: libRTI/RTIambassador.cc
===================================================================
RCS file: /sources/certi/certi/libRTI/RTIambassador.cc,v
retrieving revision 3.72
retrieving revision 3.73
diff -u -b -r3.72 -r3.73
--- libRTI/RTIambassador.cc     5 Mar 2008 15:33:51 -0000       3.72
+++ libRTI/RTIambassador.cc     13 Mar 2008 14:39:19 -0000      3.73
@@ -19,7 +19,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: RTIambassador.cc,v 3.72 2008/03/05 15:33:51 rousse Exp $
+// $Id: RTIambassador.cc,v 3.73 2008/03/13 14:39:19 siron Exp $
 // ----------------------------------------------------------------------------
 
 
@@ -1729,8 +1729,6 @@
           RTI::TimeAdvanceAlreadyInProgress, RTI::FederationTimeAlreadyPassed, 
           RTI::InvalidFederationTime)
 {
-    throw RTIinternalError("Unimplemented Service");
-
     Message req, rep ;
 
     req.type = Message::TIME_ADVANCE_REQUEST_AVAILABLE ;
@@ -1771,10 +1769,9 @@
           RTI::TimeAdvanceAlreadyInProgress, RTI::FederationTimeAlreadyPassed, 
           RTI::InvalidFederationTime)
 {
-    throw RTI::RTIinternalError("Unimplemented Service");
     Message req, rep ;
 
-    req.type = Message::NEXT_EVENT_REQUEST ;
+    req.type = Message::NEXT_EVENT_REQUEST_AVAILABLE ;
     req.setFedTime(theTime);
     privateRefs->executeService(&req, &rep);
 }
@@ -2912,4 +2909,4 @@
     privateRefs->executeService(&req, &rep);
 }
 
-// $Id: RTIambassador.cc,v 3.72 2008/03/05 15:33:51 rousse Exp $
+// $Id: RTIambassador.cc,v 3.73 2008/03/13 14:39:19 siron Exp $




reply via email to

[Prev in Thread] Current Thread [Next in Thread]