if ( arrow.getMsgTag() == msg.tag
&& arrow.getStartProcessLineID() == header.getProcessLineID()
&& arrow.getFinalProcessLineID() == msg.getProcessLineID()
) {
itr.remove(); // remove the partial arrow from recvs list
arrow.setStartVertex( new Coord( header.time,
header.gthdLineID ) );
arrow.setInfoBuffer();
return arrow;
}
}
// Set the StartVertex with header's time and gthdLineID.
// Don't know the FinalVertex's time and gthdLineID yet.
arrow = new Obj_Arrow( this.getCategory() );
arrow.setStartVertex( new Coord( header.time, header.gthdLineID ) );
arrow.setProcessLineIDs( header.getProcessLineID(),
msg.getProcessLineID() );
arrow.setMsgTag( msg.tag );
// Arrow's msg size is determined by the send event NOT recv event
arrow.setMsgSize( msg.size );