certi-cvs
[Top][All Lists]
Advanced

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

certi RTIA/ObjectManagement.cc RTIA/RTIA_federa...


From: certi-cvs
Subject: certi RTIA/ObjectManagement.cc RTIA/RTIA_federa...
Date: Mon, 25 Feb 2008 10:28:14 +0000

CVSROOT:        /sources/certi
Module name:    certi
Changes by:     ROUSSELOT <rousse>      08/02/25 10:28:14

Modified files:
        RTIA           : ObjectManagement.cc RTIA_federate.cc 
                         TimeManagement.cc 
        libCERTI       : NetworkMessage_RW.cc 
        libRTI         : RTIambassador.cc 

Log message:
        request attribute value update continued and to be continued

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/ObjectManagement.cc?cvsroot=certi&r1=3.32&r2=3.33
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/RTIA_federate.cc?cvsroot=certi&r1=3.63&r2=3.64
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/TimeManagement.cc?cvsroot=certi&r1=3.26&r2=3.27
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NetworkMessage_RW.cc?cvsroot=certi&r1=3.42&r2=3.43
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTIambassador.cc?cvsroot=certi&r1=3.69&r2=3.70

Patches:
Index: RTIA/ObjectManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/ObjectManagement.cc,v
retrieving revision 3.32
retrieving revision 3.33
diff -u -b -r3.32 -r3.33
--- RTIA/ObjectManagement.cc    22 Feb 2008 11:34:30 -0000      3.32
+++ RTIA/ObjectManagement.cc    25 Feb 2008 10:28:13 -0000      3.33
@@ -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.32 2008/02/22 11:34:30 siron Exp $
+// $Id: ObjectManagement.cc,v 3.33 2008/02/25 10:28:13 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -223,6 +223,7 @@
 {
     Message req;
 
+    G.Out(pdGendoc,"enter ObjectManagement::reflectAttributeValues with time");
     req.type = Message::REFLECT_ATTRIBUTE_VALUES ;
     req.setObject(the_object);
     req.setFederationTime(the_time);
@@ -233,6 +234,7 @@
     req.setBoolean(true);
 
     comm->requestFederateService(&req);
+    G.Out(pdGendoc,"exit  ObjectManagement::reflectAttributeValues with time");
 }
 
 // ----------------------------------------------------------------------------
@@ -247,6 +249,7 @@
 {
     Message req;
 
+    G.Out(pdGendoc,"enter ObjectManagement::reflectAttributeValues without 
time");
     req.type = Message::REFLECT_ATTRIBUTE_VALUES ;
     req.setObject(the_object);
     req.setTag(the_tag);
@@ -255,6 +258,7 @@
     req.setBoolean(false);
 
     comm->requestFederateService(&req);
+    G.Out(pdGendoc,"exit  ObjectManagement::reflectAttributeValues without 
time");
 }
 
 // ----------------------------------------------------------------------------
@@ -611,6 +615,9 @@
                                                     TypeException &e)
 {
     NetworkMessage req, rep ;
+
+    G.Out(pdGendoc,"enter 
ObjectManagement::requestObjectAttributeValueUpdate");
+
     req.type = NetworkMessage::REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE ;
     req.object = handle ;
     req.federation = fm->_numero_federation ;
@@ -625,7 +632,7 @@
     comm->waitMessage(&rep, 
NetworkMessage::REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE,
                       req.federate);
     e = rep.exception ;
-
+    G.Out(pdGendoc,"exit  
ObjectManagement::requestObjectAttributeValueUpdate");
     return rep.eventRetraction ;
 }
 
@@ -766,4 +773,4 @@
 
 }} // namespace certi/rtia
 
-// $Id: ObjectManagement.cc,v 3.32 2008/02/22 11:34:30 siron Exp $
+// $Id: ObjectManagement.cc,v 3.33 2008/02/25 10:28:13 rousse Exp $

Index: RTIA/RTIA_federate.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/RTIA_federate.cc,v
retrieving revision 3.63
retrieving revision 3.64
diff -u -b -r3.63 -r3.64
--- RTIA/RTIA_federate.cc       22 Feb 2008 07:12:28 -0000      3.63
+++ RTIA/RTIA_federate.cc       25 Feb 2008 10:28:13 -0000      3.64
@@ -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.63 2008/02/22 07:12:28 rousse Exp $
+// $Id: RTIA_federate.cc,v 3.64 2008/02/25 10:28:13 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -94,7 +94,7 @@
 RTIA::chooseFederateProcessing(Message *req, Message &rep, TypeException &e)
        throw (CouldNotOpenFED,FederationExecutionAlreadyExists,ErrorReadingFED)
 {
-    G.Out(pdGendoc,"enter RTIA::chooseFederateProcessing");
+    G.Out(pdGendoc,"enter RTIA::chooseFederateProcessing for type = 
%d",req->type);
 
     // Verify not in saving or restoring state.
     saveAndRestoreStatus(req->type);
@@ -511,10 +511,14 @@
         break ;
 
       case Message::REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE:
-        std::cout<<"request object attribute value update not yet implemented 
in chooseFederateProcessing"
-        <<std::endl;
-        std::cout<<"object is "<<req->getObject()<<std::endl;
-        e = e_UnimplementedService ;
+        try {
+            D.Out(pdTrace,"Receiving Message from Federate, type "
+                                "RequestAttributeValueUpadate.");
+            
rep.setEventRetraction(om->requestObjectAttributeValueUpdate(req->getObject(),
+                                            req->handleArray,
+                                            req->handleArraySize,
+                                            e));
+          } catch (Exception *e) { throw e ;}
         break ;
 
       case Message::REQUEST_CLASS_ATTRIBUTE_VALUE_UPDATE:
@@ -1299,4 +1303,4 @@
 
 }} // namespace certi/rtia
 
-// $Id: RTIA_federate.cc,v 3.63 2008/02/22 07:12:28 rousse Exp $
+// $Id: RTIA_federate.cc,v 3.64 2008/02/25 10:28:13 rousse Exp $

Index: RTIA/TimeManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/TimeManagement.cc,v
retrieving revision 3.26
retrieving revision 3.27
diff -u -b -r3.26 -r3.27
--- RTIA/TimeManagement.cc      22 Feb 2008 11:34:31 -0000      3.26
+++ RTIA/TimeManagement.cc      25 Feb 2008 10:28:13 -0000      3.27
@@ -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.26 2008/02/22 11:34:31 siron Exp $
+// $Id: TimeManagement.cc,v 3.27 2008/02/25 10:28:13 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -31,6 +31,7 @@
 namespace {
 
 PrettyDebug D("RTIA_TM", __FILE__);
+static PrettyDebug G("GENDOC",__FILE__) ;
 const double epsilon = 1.0e-9 ;
 
 }
@@ -118,6 +119,7 @@
 bool
 TimeManagement::executeFederateService(NetworkMessage &msg)
 {
+  G.Out(pdGendoc,"enter TimeManagement::executeFederateService");
   D.Out(pdRequest, "Execute federate service: Type %d.", msg.type);
 
   msg.trace("TimeManagement::executeFederateService ");
@@ -343,7 +345,7 @@
         msg.display("ERROR");
         throw RTIinternalError("Unknown message in executeFederateService.");
     }
-
+    G.Out(pdGendoc,"exit  TimeManagement::executeFederateService");
     return true ;
 }
 
@@ -383,6 +385,7 @@
     bool msg_donne ;
     NetworkMessage *msg ;
 
+    G.Out(pdGendoc," enter TimeManagement::nextEventAdvance");
     msg_restant = false ;
 
     if (_est_contraint) {
@@ -442,6 +445,7 @@
 
         _avancee_en_cours = PAS_D_AVANCEE ;
     }
+G.Out(pdGendoc," exit  TimeManagement::nextEventAdvance");
 }
 
 // ----------------------------------------------------------------------------
@@ -602,6 +606,7 @@
     bool msg_restant = false ;
     NetworkMessage *msg = NULL ;
 
+    G.Out(pdGendoc," enter TimeManagement::tick");
     // Note: While msg_donne = RTI::RTI_FALSE, msg_restant doesn't matter.
 
     // 1st try, give a command message. (requestPause, etc.)
@@ -642,6 +647,7 @@
 
     delete msg ;
 
+    G.Out(pdGendoc," exit  TimeManagement::tick");
     return msg_restant ;
 }
 
@@ -656,7 +662,7 @@
     bool msg_donne ;
     FederationTime min ;
     NetworkMessage *msg ;
-
+    G.Out(pdGendoc," enter TimeManagement::timeAdvance");
     msg_restant = false ;
 
     if (_est_contraint) {
@@ -700,6 +706,7 @@
             return ;
         _avancee_en_cours = PAS_D_AVANCEE ;
     }
+G.Out(pdGendoc," exit  TimeManagement::timeAdvance");
 }
 
 // ----------------------------------------------------------------------------
@@ -763,4 +770,4 @@
 
 }} // namespaces
 
-// $Id: TimeManagement.cc,v 3.26 2008/02/22 11:34:31 siron Exp $
+// $Id: TimeManagement.cc,v 3.27 2008/02/25 10:28:13 rousse Exp $

Index: libCERTI/NetworkMessage_RW.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/NetworkMessage_RW.cc,v
retrieving revision 3.42
retrieving revision 3.43
diff -u -b -r3.42 -r3.43
--- libCERTI/NetworkMessage_RW.cc       12 Feb 2008 09:35:33 -0000      3.42
+++ libCERTI/NetworkMessage_RW.cc       25 Feb 2008 10:28:14 -0000      3.43
@@ -16,7 +16,7 @@
 // License along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: NetworkMessage_RW.cc,v 3.42 2008/02/12 09:35:33 jmm Exp $
+// $Id: NetworkMessage_RW.cc,v 3.43 2008/02/25 10:28:14 rousse Exp $
 // ----------------------------------------------------------------------------
 
 
@@ -115,6 +115,16 @@
        region = body.readLongInt();
        break ;
        
+
+      case REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE:
+       object = body.readLongInt();
+       body.readBlock((char *) handleArray, handleArraySize * 
sizeof(AttributeHandle));
+       for (i = 0 ; i < handleArraySize ; i ++) {
+            ValueArray[i].length = body.readLongInt();
+            body.readBlock(ValueArray[i].value, ValueArray[i].length) ;
+       }
+       break ;
+               
       case CREATE_FEDERATION_EXECUTION:
        readFederationName(body);
        readFEDid(body);
@@ -357,6 +367,10 @@
        date = Header.VP.O_I.date ;
        break ;
 
+      case REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE:
+       handleArraySize = Header.VP.O_I.size ;
+        break;
+       
       case REQUEST_FEDERATION_RESTORE:
       case INITIATE_FEDERATE_RESTORE:
       case REQUEST_FEDERATION_RESTORE_SUCCEEDED:
@@ -565,6 +579,15 @@
        body.writeLongInt(region);
        break ;
 
+      case REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE:
+       body.writeLongInt(object);
+       body.writeBlock((char *) handleArray, handleArraySize * 
sizeof(AttributeHandle));       
+       for (i = 0 ; i < handleArraySize ; i ++) {
+            body.writeLongInt(ValueArray[i].length) ;
+            body.writeBlock(ValueArray[i].value, ValueArray[i].length);
+       } 
+        break;
+       
        // -- No Variable Part --
 
       case CREATE_FEDERATION_EXECUTION:
@@ -837,6 +860,12 @@
        Header.bodySize = 1 ;
        break ;
 
+      // Body contains Object handle,handleArray
+      case REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE:
+        Header.bodySize = 1 ;
+       Header.VP.O_I.size = handleArraySize ;
+        break;
+
        // -- No Variable Part, No body --
 
       case CLOSE_CONNEXION:
@@ -1011,4 +1040,4 @@
 
 } // namespace certi
 
-// $Id: NetworkMessage_RW.cc,v 3.42 2008/02/12 09:35:33 jmm Exp $
+// $Id: NetworkMessage_RW.cc,v 3.43 2008/02/25 10:28:14 rousse Exp $

Index: libRTI/RTIambassador.cc
===================================================================
RCS file: /sources/certi/certi/libRTI/RTIambassador.cc,v
retrieving revision 3.69
retrieving revision 3.70
diff -u -b -r3.69 -r3.70
--- libRTI/RTIambassador.cc     21 Feb 2008 10:15:25 -0000      3.69
+++ libRTI/RTIambassador.cc     25 Feb 2008 10:28:14 -0000      3.70
@@ -19,7 +19,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: RTIambassador.cc,v 3.69 2008/02/21 10:15:25 rousse Exp $
+// $Id: RTIambassador.cc,v 3.70 2008/02/25 10:28:14 rousse Exp $
 // ----------------------------------------------------------------------------
 
 
@@ -347,6 +347,7 @@
           } break ;
 
           case Message::REFLECT_ATTRIBUTE_VALUES: {
+              G.Out(pdGendoc,"          tick_kernel call to 
reflectAttributeValues");
               AttributeHandleValuePairSet *attributes = vers_Fed.getAHVPS();
               if (vers_Fed.getBoolean())
                  privateRefs->fed_amb->
@@ -2905,4 +2906,4 @@
     privateRefs->executeService(&req, &rep);
 }
 
-// $Id: RTIambassador.cc,v 3.69 2008/02/21 10:15:25 rousse Exp $
+// $Id: RTIambassador.cc,v 3.70 2008/02/25 10:28:14 rousse Exp $




reply via email to

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