certi-cvs
[Top][All Lists]
Advanced

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

certi/libCERTI Message_R.cc Message_W.cc


From: certi-cvs
Subject: certi/libCERTI Message_R.cc Message_W.cc
Date: Tue, 30 Oct 2007 14:15:24 +0000

CVSROOT:        /sources/certi
Module name:    certi
Changes by:     ROUSSELOT <rousse>      07/10/30 14:15:24

Modified files:
        libCERTI       : Message_R.cc Message_W.cc 

Log message:
        Little things...

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Message_R.cc?cvsroot=certi&r1=3.3&r2=3.4
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Message_W.cc?cvsroot=certi&r1=3.4&r2=3.5

Patches:
Index: Message_R.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/Message_R.cc,v
retrieving revision 3.3
retrieving revision 3.4
diff -u -b -r3.3 -r3.4
--- Message_R.cc        30 Oct 2007 09:25:55 -0000      3.3
+++ Message_R.cc        30 Oct 2007 14:15:24 -0000      3.4
@@ -17,7 +17,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: Message_R.cc,v 3.3 2007/10/30 09:25:55 rousse Exp $
+// $Id: Message_R.cc,v 3.4 2007/10/30 14:15:24 rousse Exp $
 // ----------------------------------------------------------------------------
 
 
@@ -32,13 +32,6 @@
 static pdCDebug D("RTIA_MSG","(LocalMESS) - ");
 static PrettyDebug G("GENDOC",__FILE__);
 
-// You can comment this out if you don't want to optimize network messages.
-#define USE_HEADER_AND_BODY
-
-void Message::trace(const char* context)
-{
-D.Mes(pdMessage,'M',this->type,context);
-}
 
 // ----------------------------------------------------------------------------
 //! Read NetworkMessage Objects from Socket objects.
@@ -46,17 +39,15 @@
 Message::read(SocketUN *socket)
     throw (NetworkError, NetworkSignal)
 {
-#ifdef USE_HEADER_AND_BODY
 
     bool has_body = readHeader(socket);
-    if (has_body) readBody(socket);
 
-#else
-#error    
-    socket->receive((void *) this, sizeof(Message));
-#endif
+    if (has_body)
+      readBody(socket);
+
 }
 
+
 // ----------------------------------------------------------------------------
 //! Read a Message Body from a Socket, should be called after ReadHeader.
 void
@@ -476,7 +467,7 @@
     // 1- Read Header from Socket
     socket->receive((const unsigned char *) &header, sizeof(MessageHeader));
 
-    // 2- Parse Header(Static Part)
+    // 2- Parse Header
     type = header.type ;
     exception = header.exception ;
     setFederationTime(header.date);
@@ -487,216 +478,132 @@
     if (exception != e_NO_EXCEPTION)
         return true ;
 
-    // 2- Parse Header according to its type(Variable Part)
+    // 2- Determine if body exists or not
     // NULL, UAV and SendInteraction are the most common ones.
 
     switch(type) {
 
-        // --- No Variable Part, Body not empty ---
-      // header contains type, exception, size and no more useful
-      case CREATE_FEDERATION_EXECUTION:  // Body contains FederationName,FEDid
-      case DESTROY_FEDERATION_EXECUTION: // Body contains FederationName
-      case REGISTER_FEDERATION_SYNCHRONIZATION_POINT: // Body contains Label
-                                                      // tag,boolean and maybe
-                                                      // handleArraySize,
-                                                      // handleArray
-      case SYNCHRONIZATION_POINT_REGISTRATION_SUCCEEDED: // Body contains label
-      case ANNOUNCE_SYNCHRONIZATION_POINT:           // Body contains label,tag
-      case SYNCHRONIZATION_POINT_ACHIEVED:               // Body contains label
-      case FEDERATION_SYNCHRONIZED:                      // Body contains label
-      case INITIATE_FEDERATE_SAVE:                       // Body contains label
-      case IS_ATTRIBUTE_OWNED_BY_FEDERATE:// B.c. object, attribute and Tag.
-      case QUERY_ATTRIBUTE_OWNERSHIP: // B.c. object and attribute.
-      case ATTRIBUTE_IS_NOT_OWNED:    //Body contains object,attribute,federate
-      case INFORM_ATTRIBUTE_OWNERSHIP://Body contains object,attribute,federate
-      case NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE: // Body contains object,
-                                                       // handleArraySize,
-                                                       // handleArray
+      // ------------------ BODY NOT EMPTY -----------------------------------
+
+
+      // ------- federationTime not useful
+      case CREATE_FEDERATION_EXECUTION:
+      case DESTROY_FEDERATION_EXECUTION:
+      case REGISTER_FEDERATION_SYNCHRONIZATION_POINT:
+      case SYNCHRONIZATION_POINT_REGISTRATION_SUCCEEDED:
+      case ANNOUNCE_SYNCHRONIZATION_POINT:
+      case SYNCHRONIZATION_POINT_ACHIEVED:
+      case FEDERATION_SYNCHRONIZED:
+      case IS_ATTRIBUTE_OWNED_BY_FEDERATE:
+      case QUERY_ATTRIBUTE_OWNERSHIP:
+      case ATTRIBUTE_IS_NOT_OWNED:
+      case INFORM_ATTRIBUTE_OWNERSHIP:
+      case NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE:
       case REQUEST_ATTRIBUTE_OWNERSHIP_ASSUMPTION:
-      case ATTRIBUTE_OWNERSHIP_ACQUISITION_IF_AVAILABLE:// Body contains 
object,
-                                                        // handleArraySize,
-                                                        // handleArray
-      case ATTRIBUTE_OWNERSHIP_ACQUISITION_NOTIFICATION:// Body contains object
-                                                        // handleArraySize,
-                                                        // handleArray
-      case ATTRIBUTE_OWNERSHIP_UNAVAILABLE:// Body contains object
-                                                        // handleArraySize,
-                                                        // handleArray
+      case ATTRIBUTE_OWNERSHIP_ACQUISITION_IF_AVAILABLE:
+      case ATTRIBUTE_OWNERSHIP_ACQUISITION_NOTIFICATION:
+      case ATTRIBUTE_OWNERSHIP_UNAVAILABLE:
       case UNCONDITIONAL_ATTRIBUTE_OWNERSHIP_DIVESTITURE:
       case ATTRIBUTE_OWNERSHIP_ACQUISITION:
       case REQUEST_ATTRIBUTE_OWNERSHIP_RELEASE:
-      case ATTRIBUTE_OWNERSHIP_DIVESTITURE_NOTIFICATION:// Body contains object
-                                                        // handleArraySize,
-                                                        // handleArray
-      // Body contains object,handleArraySize,handleArray 
+      case ATTRIBUTE_OWNERSHIP_DIVESTITURE_NOTIFICATION:
       case CANCEL_NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE:
-      case ATTRIBUTE_OWNERSHIP_RELEASE_RESPONSE:// Body contains object
-                                                        // handleArraySize,
-                                                        // handleArray 
-      case CANCEL_ATTRIBUTE_OWNERSHIP_ACQUISITION:// Body contains object
-                                                        // handleArraySize,
-                                                        // handleArray
-      // Body contains object,handleArraySize,handleArray 
+      case ATTRIBUTE_OWNERSHIP_RELEASE_RESPONSE:
+      case CANCEL_ATTRIBUTE_OWNERSHIP_ACQUISITION:
       case CONFIRM_ATTRIBUTE_OWNERSHIP_ACQUISITION_CANCELLATION:
-      // Body contains objectClass,attribute,space
       case GET_ATTRIBUTE_SPACE_HANDLE:
-      case GET_INTERACTION_SPACE_HANDLE: //Body contains interactionClass,space
-      case DDM_CREATE_REGION:              // Body contains space,number,region
-      case REQUEST_FEDERATION_RESTORE:           // Body contains label.
-      case REQUEST_FEDERATION_RESTORE_SUCCEEDED: // Body contains label.
-      case REQUEST_FEDERATION_RESTORE_FAILED:    // Body contains label,tag
-      // Body contains object,region,boolean,handleArraySize,handleArray
+      case GET_INTERACTION_SPACE_HANDLE:
+      case INITIATE_FEDERATE_SAVE:
+      case DDM_CREATE_REGION:
       case DDM_ASSOCIATE_REGION:
-      case DDM_UNASSOCIATE_REGION:               // Body contains object,region
-      // Body contains objectClass,region,boolean,handleArraySize,handleArray
+      case DDM_UNASSOCIATE_REGION:
       case DDM_SUBSCRIBE_ATTRIBUTES:
-      case DDM_UNSUBSCRIBE_ATTRIBUTES:      // Body contains objectClass,region
-      // Body contains interactionClass,region,boolean
+      case DDM_UNSUBSCRIBE_ATTRIBUTES:
       case DDM_SUBSCRIBE_INTERACTION:
-      // Body contains interactionClass,region,boolean
       case DDM_UNSUBSCRIBE_INTERACTION:
-      // Body contains objectClass,object,tag,handleArraySize,handleArray,
-      // regions
       case DDM_REGISTER_OBJECT:
-        break ;
-
-        // --- MessageJ_R_Struct --
-
-      // header contains type, exception, size and no more useful
-      // Body contains resignAction
+      case REQUEST_FEDERATION_RESTORE:
+      case REQUEST_FEDERATION_RESTORE_SUCCEEDED:
+      case REQUEST_FEDERATION_RESTORE_FAILED:
+      case REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE:
       case RESIGN_FEDERATION_EXECUTION:
-        break ;
-
-      // header contains type, exception, size and no more useful
-      // Body contains federate,label
       case INITIATE_FEDERATE_RESTORE:
-        break ;
-
-      // header contains type, exception, size and no more useful
-      case JOIN_FEDERATION_EXECUTION: // Body contains federate,FederationName
-        break ;                       //               federateName
-
-        // --- MessageO_I_Struct, No body ---
-
-      // header contains type, exception, size and no more useful
-      // Body contains objectClass
+      case JOIN_FEDERATION_EXECUTION:
       case UNPUBLISH_OBJECT_CLASS:
       case UNSUBSCRIBE_OBJECT_CLASS:
       case START_REGISTRATION_FOR_OBJECT_CLASS:
       case STOP_REGISTRATION_FOR_OBJECT_CLASS:
-        break ;
-
-      // header contains type, exception, size and no more useful
-      // Body contains interactionClass
       case PUBLISH_INTERACTION_CLASS:
       case UNPUBLISH_INTERACTION_CLASS:
       case SUBSCRIBE_INTERACTION_CLASS:
       case UNSUBSCRIBE_INTERACTION_CLASS:
       case TURN_INTERACTIONS_ON:
       case TURN_INTERACTIONS_OFF:
-        break;
-
-        // --- MessageO_I_Struct, body not Empty ---
+      case LOCAL_DELETE_OBJECT_INSTANCE:
+      case CHANGE_INTERACTION_TRANSPORTATION_TYPE:
+      case CHANGE_INTERACTION_ORDER_TYPE:
+      case DDM_DELETE_REGION:
+      case DDM_MODIFY_REGION:
+      case CHANGE_ATTRIBUTE_TRANSPORTATION_TYPE:
+      case CHANGE_ATTRIBUTE_ORDER_TYPE:
+      case ENABLE_TIME_REGULATION:
+      case DISABLE_TIME_REGULATION:
+      case ENABLE_TIME_CONSTRAINED:
+      case DISABLE_TIME_CONSTRAINED:
+      case TICK_REQUEST:
+        break ;
 
-      // RFS without time will receive date=0 in the header
+      // ------- federationTime (relevant or zero) depending on boolean value
+      //         i.e. boolean false don't need date (zero received in header)
       case REQUEST_FEDERATION_SAVE:
+      case UPDATE_ATTRIBUTE_VALUES:
+      case REFLECT_ATTRIBUTE_VALUES:
+      case SEND_INTERACTION:
+      case RECEIVE_INTERACTION:
         break ;
 
-      // FederationTime yet got from header
-      // Body contains objectClass,handleArraySize,HandleArray
+      // ------- federationTime useful
       case PUBLISH_OBJECT_CLASS:
       case SUBSCRIBE_OBJECT_CLASS_ATTRIBUTES:
-        break ;
-
-      // FederationTime yet got from header
-      // Body contains objectClass,object,name
       case REGISTER_OBJECT_INSTANCE:
-        break ;
-
-      // FederationTime yet got from header 
-      // Body contains objectClass,object,tag,name,label,resignAction  
       case DELETE_OBJECT_INSTANCE:
       case REMOVE_OBJECT_INSTANCE:
-        break ;
-
-      // Body contains object  
-      case LOCAL_DELETE_OBJECT_INSTANCE:
-        break;
-
-      // FederationTime yet got from header
-      // Body contains objectClass,object,tag,name,label,resignAction
       case DISCOVER_OBJECT_INSTANCE:
-        break ;
-
-      // FederationTime yet got from header
-      // Body contains objectClass,name,attribute
       case GET_OBJECT_CLASS_HANDLE:
       case GET_OBJECT_CLASS_NAME:
       case GET_ATTRIBUTE_HANDLE:
       case GET_ATTRIBUTE_NAME:
-        break ;
-
-      // FederationTime (maybe zero) yet got from header
-      // Body contains objectClass,handleArraySize,object,tag,HandleArray,
-      // ValueArray,ResignAction and 
-      // boolean (true with time, false without time)
-      case UPDATE_ATTRIBUTE_VALUES:
-      case REFLECT_ATTRIBUTE_VALUES:
-        break ;
-
-      // FederationTime yet got from header
-      case SEND_INTERACTION: // B.c. Tag, HandleArray[], ValueArray[]
-      case RECEIVE_INTERACTION: // B.c. Tag, HandleArray[], ValueArray[], 
resignAction
-        // interactionClass = header.VP.O_I.handle ;
-        // handleArraySize = header.VP.O_I.size ;
-        // setFederationTime(header.VP.O_I.date );
-        break ;
-
-      // FederationTime yet got from header
-      // Body contains interactionClass,name,parameter
       case GET_INTERACTION_CLASS_HANDLE:
       case GET_INTERACTION_CLASS_NAME:
       case GET_PARAMETER_HANDLE:
       case GET_PARAMETER_NAME:
-        break ;
-
-      // FederationTime yet got from header
-      // Body contains name,space
       case GET_SPACE_HANDLE:
       case GET_SPACE_NAME:
-        break ;
-
-      // FederationTime yet got from header
-      // Body contains name,dimension,space
       case GET_DIMENSION_NAME:
       case GET_DIMENSION_HANDLE:
+      case GET_OBJECT_INSTANCE_HANDLE:
+      case GET_OBJECT_INSTANCE_NAME:
         break ;
 
-      // Body contains interactionClass,transport,order
-      case CHANGE_INTERACTION_TRANSPORTATION_TYPE:
-      case CHANGE_INTERACTION_ORDER_TYPE:
-        break ;
-
-      // Body contains region
-      case DDM_DELETE_REGION:
-        //region = header.VP.ddm.region ;
-        break ;
-
-      // Body contains region,extents
-      case DDM_MODIFY_REGION:
-       break ; 
+      // ------------------ BODY EMPTY -----------------------------------
+      // type,exception,size ans federationTime yet got from header
        
-        // --- MessageT_O_Struct, Body not empty ---
-      // Body contains handleArraySize,transport,order,object,HandleArray
-      case CHANGE_ATTRIBUTE_TRANSPORTATION_TYPE:
-      case CHANGE_ATTRIBUTE_ORDER_TYPE:
+      // ------- federationTime not useful
+      case FEDERATE_SAVE_BEGUN:
+      case FEDERATE_SAVE_COMPLETE:
+      case FEDERATE_SAVE_NOT_COMPLETE:
+      case FEDERATION_SAVED:
+      case FEDERATION_NOT_SAVED:
+      case FEDERATE_RESTORE_COMPLETE:
+      case FEDERATE_RESTORE_NOT_COMPLETE:
+      case FEDERATION_RESTORED:
+      case FEDERATION_NOT_RESTORED:
+      case FEDERATION_RESTORE_BEGUN:
+      case ENABLE_ASYNCHRONOUS_DELIVERY:
+      case DISABLE_ASYNCHRONOUS_DELIVERY:
         break ;
 
-        // --- TimeStruct, No Body ---
-        // case REQUEST_FEDERATION_TIME:
-
-      // FederationTime yet got from header
-      // Body is empty
+      // ------- federationTime useful
       case QUERY_LBTS:
       case QUERY_FEDERATE_TIME:
       case TIME_ADVANCE_REQUEST:
@@ -705,7 +612,6 @@
         break ;
 
       // lookahead got from header
-      // Body is empty
       // Warning : FederationTime has been modified (needs validation)
       case MODIFY_LOOKAHEAD:
       case QUERY_LOOKAHEAD:
@@ -713,42 +619,6 @@
         fed_time.setZero();
         break ;
 
-      // Body contains boolean
-      case ENABLE_TIME_REGULATION:
-      case DISABLE_TIME_REGULATION:
-      case ENABLE_TIME_CONSTRAINED:
-      case DISABLE_TIME_CONSTRAINED:
-      case TICK_REQUEST:
-        break ;
-
-
-      // FederationTime yet got from header
-      // Body contains object,name
-      case GET_OBJECT_INSTANCE_HANDLE:
-      case GET_OBJECT_INSTANCE_NAME:
-        break ;
-
-      // Body contains object,federationName,federate,handleArraySize,
-      // handleArray
-      case REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE:
-        break;        
-
-
-      // Nothing more to do. Body is empty.
-      case FEDERATE_SAVE_BEGUN:
-      case FEDERATE_SAVE_COMPLETE:
-      case FEDERATE_SAVE_NOT_COMPLETE:
-      case FEDERATION_SAVED:
-      case FEDERATION_NOT_SAVED:
-      case FEDERATE_RESTORE_COMPLETE:
-      case FEDERATE_RESTORE_NOT_COMPLETE:
-      case FEDERATION_RESTORED:
-      case FEDERATION_NOT_RESTORED:
-      case FEDERATION_RESTORE_BEGUN:
-      case ENABLE_ASYNCHRONOUS_DELIVERY:
-      case DISABLE_ASYNCHRONOUS_DELIVERY:
-        break;
-
       default:
         D.Out(pdExcept, "Unknown type %d in ReadHeader.", header.type);
         throw RTIinternalError("Message: Received unknown Header type.");
@@ -827,6 +697,12 @@
         }
 }
 
+// ----------------------------------------------------------------------------
+void Message::trace(const char* context)
+{
+D.Mes(pdMessage,'M',this->type,context);
+}
+
 } // namespace certi
 
-// $Id: Message_R.cc,v 3.3 2007/10/30 09:25:55 rousse Exp $
+// $Id: Message_R.cc,v 3.4 2007/10/30 14:15:24 rousse Exp $

Index: Message_W.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/Message_W.cc,v
retrieving revision 3.4
retrieving revision 3.5
diff -u -b -r3.4 -r3.5
--- Message_W.cc        30 Oct 2007 13:11:46 -0000      3.4
+++ Message_W.cc        30 Oct 2007 14:15:24 -0000      3.5
@@ -17,7 +17,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: Message_W.cc,v 3.4 2007/10/30 13:11:46 rousse Exp $
+// $Id: Message_W.cc,v 3.5 2007/10/30 14:15:24 rousse Exp $
 // ----------------------------------------------------------------------------
 
 
@@ -32,8 +32,6 @@
 static pdCDebug D("RTIA_MSG","(LocalMESS) - ");
 static PrettyDebug G("GENDOC",__FILE__);
 
-// You can comment this out if you don't want to optimize network messages.
-#define USE_HEADER_AND_BODY
 
 // ----------------------------------------------------------------------------
 //! Write NetworkMessage Objects to Socket objects.
@@ -41,17 +39,12 @@
 Message::write(SocketUN *socket)
     throw (NetworkError, NetworkSignal)
 {
-#ifdef USE_HEADER_AND_BODY
 
     bool result ;
-
     result = writeHeader(socket);
     if (result)
         writeBody(socket);
 
-#else
-    socket->send((void *) this, sizeof(Message));
-#endif
 }
 
 // ----------------------------------------------------------------------------
@@ -696,4 +689,4 @@
 
 } // namespace certi
 
-// $Id: Message_W.cc,v 3.4 2007/10/30 13:11:46 rousse Exp $
+// $Id: Message_W.cc,v 3.5 2007/10/30 14:15:24 rousse Exp $




reply via email to

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