[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[certi-cvs] certi libCERTI/Message_R.cc libCERTI/NM_Classes...
From: |
certi-cvs |
Subject: |
[certi-cvs] certi libCERTI/Message_R.cc libCERTI/NM_Classes... |
Date: |
Tue, 24 Nov 2009 19:11:38 +0000 |
CVSROOT: /sources/certi
Module name: certi
Changes by: Eric NOULARD <erk> 09/11/24 19:11:38
Modified files:
libCERTI : Message_R.cc NM_Classes.cc MessageBuffer.hh
NetworkMessage_RW.cc NetworkMessage.hh
NetworkMessage.cc MessageBuffer.cc
RTIG : RTIG.cc
Log message:
Check-in clean-up patch from Mathias
patch #6997: Save some malloc/free pairs for the payload
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Message_R.cc?cvsroot=certi&r1=3.36&r2=3.37
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NM_Classes.cc?cvsroot=certi&r1=3.20&r2=3.21
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/MessageBuffer.hh?cvsroot=certi&r1=3.8&r2=3.9
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NetworkMessage_RW.cc?cvsroot=certi&r1=3.54&r2=3.55
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NetworkMessage.hh?cvsroot=certi&r1=3.52&r2=3.53
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NetworkMessage.cc?cvsroot=certi&r1=3.42&r2=3.43
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/MessageBuffer.cc?cvsroot=certi&r1=3.16&r2=3.17
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/RTIG.cc?cvsroot=certi&r1=3.60&r2=3.61
Patches:
Index: libCERTI/Message_R.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/Message_R.cc,v
retrieving revision 3.36
retrieving revision 3.37
diff -u -b -r3.36 -r3.37
--- libCERTI/Message_R.cc 19 Nov 2009 18:15:32 -0000 3.36
+++ libCERTI/Message_R.cc 24 Nov 2009 19:11:37 -0000 3.37
@@ -17,7 +17,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: Message_R.cc,v 3.36 2009/11/19 18:15:32 erk Exp $
+// $Id: Message_R.cc,v 3.37 2009/11/24 19:11:37 erk Exp $
// ----------------------------------------------------------------------------
@@ -85,7 +85,7 @@
// 3. Read informations from Message Body according to message type.
if (exception != e_NO_EXCEPTION) {
- exceptionReason = msgBuffer.read_string();
+ msgBuffer.read_string(exceptionReason);
}
else {
@@ -582,28 +582,28 @@
void
Message::readLabel(MessageBuffer &msgBuffer)
{
- label = msgBuffer.read_string() ;
+ msgBuffer.read_string(label);
}
// ----------------------------------------------------------------------------
void
Message::readName(MessageBuffer &msgBuffer)
{
- name = msgBuffer.read_string();
+ msgBuffer.read_string(name);
}
// ----------------------------------------------------------------------------
void
Message::readFederationName(MessageBuffer &msgBuffer)
{
- federationName = msgBuffer.read_string() ;
+ msgBuffer.read_string(federationName);
}
// ----------------------------------------------------------------------------
void
Message::readFederateName(MessageBuffer &msgBuffer)
{
- federateName = msgBuffer.read_string() ;
+ msgBuffer.read_string(federateName);
}
// ----------------------------------------------------------------------------
@@ -617,14 +617,14 @@
void
Message::readTag(MessageBuffer &msgBuffer)
{
- tag = msgBuffer.read_string();
+ msgBuffer.read_string(tag);
}
// ----------------------------------------------------------------------------
void
Message::readFEDid(MessageBuffer &msgBuffer)
{
- FEDid = msgBuffer.read_string();
+ msgBuffer.read_string(FEDid);
}
// ----------------------------------------------------------------------------
@@ -636,7 +636,7 @@
valueArray.resize(handleArraySize) ;
for (int i = 0 ; i < handleArraySize ; i ++)
- valueArray[i] = msgBuffer.read_string();
+ msgBuffer.read_string(valueArray[i]);
}
// ----------------------------------------------------------------------------
@@ -649,4 +649,4 @@
} // namespace certi
-// $Id: Message_R.cc,v 3.36 2009/11/19 18:15:32 erk Exp $
+// $Id: Message_R.cc,v 3.37 2009/11/24 19:11:37 erk Exp $
Index: libCERTI/NM_Classes.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/NM_Classes.cc,v
retrieving revision 3.20
retrieving revision 3.21
diff -u -b -r3.20 -r3.21
--- libCERTI/NM_Classes.cc 18 Nov 2009 18:50:49 -0000 3.20
+++ libCERTI/NM_Classes.cc 24 Nov 2009 19:11:37 -0000 3.21
@@ -423,7 +423,7 @@
}
void NM_FOM_Dimension::deserialize(MessageBuffer& msgBuffer) {
_handle = msgBuffer.read_uint32();
- _name = msgBuffer.read_string();
+ msgBuffer.read_string(_name);
}
/*<END>---------- FOM_Dimension ------------<END>*/
@@ -438,7 +438,7 @@
} /* end of serialize */
void NM_FOM_Routing_Space::deserialize(MessageBuffer& msgBuffer) {
_handle = msgBuffer.read_uint32();
- _name = msgBuffer.read_string();
+ msgBuffer.read_string(_name);
uint32_t size = msgBuffer.read_uint32();
_dimensions.resize(size);
for (uint32_t i = 0; i < size; ++i)
@@ -456,7 +456,7 @@
}
void NM_FOM_Attribute::deserialize(MessageBuffer& msgBuffer) {
_handle = msgBuffer.read_uint32();
- _name = msgBuffer.read_string();
+ msgBuffer.read_string(_name);
_spaceHandle = msgBuffer.read_uint32();
_order = msgBuffer.read_uint8();
_transport = msgBuffer.read_uint8();
@@ -475,7 +475,7 @@
} /* end of serialize */
void NM_FOM_Object_Class::deserialize(MessageBuffer& msgBuffer) {
_handle = msgBuffer.read_uint32();
- _name = msgBuffer.read_string();
+ msgBuffer.read_string(_name);
_superclassHandle = msgBuffer.read_uint32();
uint32_t size = msgBuffer.read_uint32();
_attributes.resize(size);
@@ -491,7 +491,7 @@
}
void NM_FOM_Parameter::deserialize(MessageBuffer& msgBuffer) {
_handle = msgBuffer.read_uint32();
- _name = msgBuffer.read_string();
+ msgBuffer.read_string(_name);
}
/*<END>---------- FOM_FOM_Parameter ------------<END>*/
@@ -510,7 +510,7 @@
} /* end of serialize */
void NM_FOM_Interaction_Class::deserialize(MessageBuffer& msgBuffer) {
_handle = msgBuffer.read_uint32();
- _name = msgBuffer.read_string();
+ msgBuffer.read_string(_name);
_superclassHandle = msgBuffer.read_uint32();
_spaceHandle = msgBuffer.read_uint32();
_order = msgBuffer.read_uint8();
@@ -541,8 +541,8 @@
/* call mother class */
Super::deserialize(msgBuffer);
/* specific code (if any) goes here */
- federationName = msgBuffer.read_string();
- FEDid = msgBuffer.read_string();
+ msgBuffer.read_string(federationName);
+ msgBuffer.read_string(FEDid);
} /* end of deserialize */
/*<END>---------- Create_Federation_Execution ------------<END>*/
@@ -564,7 +564,7 @@
/* call mother class */
Super::deserialize(msgBuffer);
/* specific code (if any) goes here */
- federationName = msgBuffer.read_string();
+ msgBuffer.read_string(federationName);
} /* end of deserialize */
/*<END>---------- Destroy_Federation_Execution ------------<END>*/
@@ -607,8 +607,8 @@
multicastAddress = msgBuffer.read_uint32();
bestEffortAddress = msgBuffer.read_uint32();
bestEffortPeer = msgBuffer.read_uint32();
- federationName = msgBuffer.read_string();
- federateName = msgBuffer.read_string();
+ msgBuffer.read_string(federationName);
+ msgBuffer.read_string(federateName);
uint32_t size = msgBuffer.read_uint32();
_routingSpaces.resize(size);
for (uint32_t i = 0; i < size; ++i)
@@ -1268,7 +1268,7 @@
objectClass = msgBuffer.read_int32();
valueArray.resize(handleArraySize) ;
for (i = 0; i < handleArraySize; i++)
- valueArray[i] = msgBuffer.read_string();
+ msgBuffer.read_string(valueArray[i]);
} /* end of deserialize */
/*<END>---------- Update_Attribute_Values ------------<END>*/
@@ -1310,7 +1310,7 @@
interactionClass = msgBuffer.read_int32();
valueArray.resize(handleArraySize);
for (i = 0; i < handleArraySize; i++)
- valueArray[i] = msgBuffer.read_string();
+ msgBuffer.read_string(valueArray[i]);
} /* end of deserialize */
/*<END>---------- Send_Interaction ------------<END>*/
Index: libCERTI/MessageBuffer.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/MessageBuffer.hh,v
retrieving revision 3.8
retrieving revision 3.9
diff -u -b -r3.8 -r3.9
--- libCERTI/MessageBuffer.hh 24 Nov 2009 16:45:56 -0000 3.8
+++ libCERTI/MessageBuffer.hh 24 Nov 2009 19:11:37 -0000 3.9
@@ -257,6 +257,9 @@
std::string
read_string();
+ void
+ read_string(std::string&);
+
int32_t
write_bool(const bool toggle) {
if(toggle) {
Index: libCERTI/NetworkMessage_RW.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/NetworkMessage_RW.cc,v
retrieving revision 3.54
retrieving revision 3.55
diff -u -b -r3.54 -r3.55
--- libCERTI/NetworkMessage_RW.cc 21 Oct 2009 20:04:46 -0000 3.54
+++ libCERTI/NetworkMessage_RW.cc 24 Nov 2009 19:11:37 -0000 3.55
@@ -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.54 2009/10/21 20:04:46 erk Exp $
+// $Id: NetworkMessage_RW.cc,v 3.55 2009/11/24 19:11:37 erk Exp $
// ----------------------------------------------------------------------------
#include "NetworkMessage.hh"
@@ -39,7 +39,7 @@
if ((type==NOT_USED) || (type==LAST)) {
throw RTIinternalError("Invalid network type (not a valid
type);");
}
- D.Out(pdDebug, "Serialize <%s>", getName().c_str());
+ D.Out(pdDebug, "Serialize <%s>", getName());
/* type of message */
msgBuffer.write_int32(type);
msgBuffer.write_int32(exception);
@@ -91,11 +91,11 @@
}
_isLabelled = msgBuffer.read_bool();
if (_isLabelled) {
- label = msgBuffer.read_string();
+ msgBuffer.read_string(label);
}
_isTagged = msgBuffer.read_bool();
if (_isTagged) {
- tag = msgBuffer.read_string();
+ msgBuffer.read_string(tag);
}
G.Out(pdGendoc,"exit NetworkMessage::deserialize");
} /* end of deserialize */
@@ -112,7 +112,7 @@
serialize(msgBuffer);
/* 2- update message buffer 'reserved bytes' header */
msgBuffer.updateReservedBytes();
- D.Out(pdDebug,"Sending <%s> whose buffer has <%u>
bytes",getName().c_str(),msgBuffer.size());
+ D.Out(pdDebug,"Sending <%s> whose buffer has <%u>
bytes",getName(),msgBuffer.size());
//msgBuffer.show(msgBuf(0),5);
/* 3- effectively send the raw message to socket */
@@ -151,4 +151,4 @@
} // namespace certi
-// $Id: NetworkMessage_RW.cc,v 3.54 2009/10/21 20:04:46 erk Exp $
+// $Id: NetworkMessage_RW.cc,v 3.55 2009/11/24 19:11:37 erk Exp $
Index: libCERTI/NetworkMessage.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/NetworkMessage.hh,v
retrieving revision 3.52
retrieving revision 3.53
diff -u -b -r3.52 -r3.53
--- libCERTI/NetworkMessage.hh 21 Nov 2009 21:00:56 -0000 3.52
+++ libCERTI/NetworkMessage.hh 24 Nov 2009 19:11:37 -0000 3.53
@@ -17,7 +17,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: NetworkMessage.hh,v 3.52 2009/11/21 21:00:56 erk Exp $
+// $Id: NetworkMessage.hh,v 3.53 2009/11/24 19:11:37 erk Exp $
// ----------------------------------------------------------------------------
#ifndef CERTI_NETWORK_MESSAGE_HH
@@ -244,7 +244,7 @@
OrderType order ;
/** The name corresponding to message type */
- const std::string& getName() const {return name;}
+ const char* getName() const {return name;}
/**
@@ -270,7 +270,7 @@
* should be initialized by the specialized
* network message constructor
*/
- std::string name;
+ const char* name;
/**
* The network message type
@@ -335,4 +335,4 @@
#endif // CERTI_NETWORK_MESSAGE_HH
-// $Id: NetworkMessage.hh,v 3.52 2009/11/21 21:00:56 erk Exp $
+// $Id: NetworkMessage.hh,v 3.53 2009/11/24 19:11:37 erk Exp $
Index: libCERTI/NetworkMessage.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/NetworkMessage.cc,v
retrieving revision 3.42
retrieving revision 3.43
diff -u -b -r3.42 -r3.43
--- libCERTI/NetworkMessage.cc 21 Nov 2009 21:00:56 -0000 3.42
+++ libCERTI/NetworkMessage.cc 24 Nov 2009 19:11:37 -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.cc,v 3.42 2009/11/21 21:00:56 erk Exp $
+// $Id: NetworkMessage.cc,v 3.43 2009/11/24 19:11:37 erk Exp $
// ----------------------------------------------------------------------------
@@ -42,7 +42,7 @@
_isLabelled(false),
_isTagged(false)
{
- name = std::string("NetworkMessage (generic)");
+ name = "NetworkMessage (generic)";
federation = 0 ;
federate = 0 ;
@@ -130,4 +130,4 @@
} // namespace certi
-// $Id: NetworkMessage.cc,v 3.42 2009/11/21 21:00:56 erk Exp $
+// $Id: NetworkMessage.cc,v 3.43 2009/11/24 19:11:37 erk Exp $
Index: libCERTI/MessageBuffer.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/MessageBuffer.cc,v
retrieving revision 3.16
retrieving revision 3.17
diff -u -b -r3.16 -r3.17
--- libCERTI/MessageBuffer.cc 19 Nov 2009 18:15:31 -0000 3.16
+++ libCERTI/MessageBuffer.cc 24 Nov 2009 19:11:37 -0000 3.17
@@ -434,17 +434,28 @@
std::string
MessageBuffer::read_string() {
std::string retval;
- int32_t len;
- char* buf;
-
- read_int32(&len);
- buf = new char[len];
- read_chars(buf,len);
- retval.assign(buf,len);
- delete[] buf;
+ read_string(retval);
return retval;
} /* end of read_string */
+void
+MessageBuffer::read_string(std::string& s)
+{
+ int32_t len = read_int32();
+
+ if (len + readOffset > writeOffset) {
+ std::stringstream smsg;
+ smsg << "read_string::invalid read of size <" << len
+ << "> inside a buffer of readable size <"
+ << (int32_t)writeOffset-readOffset << "> (writeOffset="
+ <<writeOffset << ",readOffset="<<readOffset <<").";
+ throw RTIinternalError(smsg.str());
+ }
+
+ s.assign(reinterpret_cast<const char*>(buffer + readOffset), len);
+ readOffset += len;
+} /* end of read_string */
+
void MessageBuffer::updateReservedBytes() {
/* set up buffer endianess */
if ((HostIsBigEndian() && bufferHasMyEndianness) ||
Index: RTIG/RTIG.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/RTIG.cc,v
retrieving revision 3.60
retrieving revision 3.61
diff -u -b -r3.60 -r3.61
--- RTIG/RTIG.cc 19 Nov 2009 18:15:29 -0000 3.60
+++ RTIG/RTIG.cc 24 Nov 2009 19:11:38 -0000 3.61
@@ -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: RTIG.cc,v 3.60 2009/11/19 18:15:29 erk Exp $
+// $Id: RTIG.cc,v 3.61 2009/11/24 19:11:38 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -89,7 +89,7 @@
Socket*
RTIG::chooseProcessingMethod(Socket *link, NetworkMessage *msg)
{
- G.Out(pdGendoc,"enter RTIG::chooseProcessingMethod type
(%s)",msg->getName().c_str());
+ G.Out(pdGendoc,"enter RTIG::chooseProcessingMethod type
(%s)",msg->getName());
// This may throw a security error.
if ( msg->getType() != NetworkMessage::DESTROY_FEDERATION_EXECUTION)
socketServer.checkMessage(link->returnSocket(), msg);
@@ -1036,4 +1036,4 @@
}} // namespace certi/rtig
-// $Id: RTIG.cc,v 3.60 2009/11/19 18:15:29 erk Exp $
+// $Id: RTIG.cc,v 3.61 2009/11/24 19:11:38 erk Exp $
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [certi-cvs] certi libCERTI/Message_R.cc libCERTI/NM_Classes...,
certi-cvs <=