do not depend on libev in send_{offer,ack,nak}; just pass a socket