log.trace(sb.toString());
}
long id=getNextId(); // used as a seqno
for(int i=0; i < fragments.size(); i++) {
Range r=fragments.get(i);
Message frag_msg=msg.copy(false); // don't copy the buffer, only src, dest and headers. But do copy the headers
frag_msg.setBuffer(buffer, (int)r.low, (int)r.high);
FragHeader hdr=new FragHeader(id, i, num_frags);
frag_msg.putHeader(name, hdr);
down_prot.down(new Event(Event.MSG, frag_msg));