// set server send time
context.getMPIO().sendTime = System.currentTimeMillis();
if(context.isRecordMessageSizes())
serializationOverhead = System.currentTimeMillis();
}
MessageSerializer serializer = sc.newMessageSerializer();
serializer.initialize(sc, outBuffer, debugTrace);
serializer.writeMessage(respMesg);
// keep track of serializes bytes for performance metrics
context.setSerializedBytes(outBuffer.size());
// serialized message again after adding info if mpio with sizing is enabled
if(context.isRecordMessageSizes())
{
try
{
context.getMPIO().messageSize = outBuffer.size();
// reset server send time
if(context.isRecordMessageTimes())
{
serializationOverhead = System.currentTimeMillis() - serializationOverhead;
context.getMPIO().addToOverhead(serializationOverhead);
context.getMPIO().sendTime = System.currentTimeMillis();
}
// reserialize the message now that info has been added
outBuffer = new ByteArrayOutputStream();
respMesg = context.getResponseMessage();
serializer = sc.newMessageSerializer();
serializer.initialize(sc, outBuffer, debugTrace);
serializer.writeMessage(respMesg);
}
catch(Exception e)
{
if (isDebug)
logger.debug("MPI set up error: " + e.toString());