get global time-out and use it
use two tags, one for send and another for receive, avoiding two threads trying to receive from the same peer and tag