refactored AsyncTcpLink