In UNICAST, down() and up() block on the same entry (Entry instance), however, they should be concurrent. As an optimization, we now block on the receiver window when receiving a message, rather than on the entry. This way, down() doesn't have to block on entry which is held until a message has been consumed !
A quick Unicast run with 2 nodes shows that the message rate goes from 4000 msgs/sec to 8000 msgs/sec !