private async gotoReady()

in packages/dubbo-node/src/http2-session-manager.ts [236:258]


  private async gotoReady() {
    if (this.s.t == "ready") {
      if (this.s.requiresVerify()) {
        this.setState(
          verify(this.s, this.options, this.authority, this.http2SessionOptions)
        );
      }
    } else if (this.s.t == "closed" || this.s.t == "error") {
      this.setState(connect(this.authority, this.http2SessionOptions));
    }
    while (this.s.t !== "ready") {
      if (this.s.t === "error") {
        throw this.s.reason;
      }
      if (this.s.t === "connecting") {
        await this.s.conn;
      }
      if (this.s.t === "verifying") {
        await this.s.verified;
      }
    }
    return this.s;
  }