constructor(options = {}) {
    super(options);

    this.socket = null;

    this.retrySettings = {
      retries: 3,
      minTimeout: 500,
      randomize: true
    };

    this.streamBuffer = new XVIZStreamBuffer();

    // Handler object for the websocket events
    // Note: needs to be last due to member dependencies
    this.WebSocketClass = options.WebSocketClass || WebSocket;
  }
constructor
@params serverConfig {object}
  - serverConfig.serverUrl {string}
  - serverConfig.defaultLogLength {number, optional} - default 30
  - serverConfig.queryParams {object, optional}
  - serverConfig.retryAttempts {number, optional} - default 3
@params worker {string|function, optional}
@params maxConcurrency {number, optional} - default 3
@params debug {function} - Debug callback for the XVIZ parser.
@params logGuid {string}
@params logProfile {string, optional}
@params duration {number, optional}
@params timestamp {number, optional}
@params bufferLength {number, optional}