synchronized(entry) { // threads will only sync if they access the same entry
try {
seqno=entry.sent_msgs_seqno;
UnicastHeader hdr=new UnicastHeader(UnicastHeader.DATA, seqno);
if(entry.sent_msgs == null) { // first msg to peer 'dst'
entry.sent_msgs=new AckSenderWindow(this, new StaticInterval(timeouts), timer, this.local_addr); // use the global timer
}
msg.putHeader(name, hdr);
if(log.isTraceEnabled())
log.trace(new StringBuilder().append(local_addr).append(" --> DATA(").append(dst).append(": #").
append(seqno));