Renamed tcp.Exchange => tcp.Socket, to avoid confusion with existing more general Exchange type