code: function WebSocketConnection(transport, url, receive) {
    this.transport = transport;
    this.url = url ? util.normalizeURL(url) : uuid();
    this.receive = receive;
  
    this.sockets = {};
    this.closed = false;
    this.reconnectTimers = {};
  
    // ready state
    this.ready = Promise.resolve(this);
  }
docs: A websocket connection.
  @param {WebSocketTransport} transport
  @param {string | number | null} url  The url of the agent. The url must match
  the url of the WebSocket server.
  If url is null, a UUID id is generated as url.
  @param {function} receive
  @constructor