 
       case .transientFailure:
         self.monitor.updateState(to: .transientFailure, logger: self.logger)
+        self.updateConnectionID()
 
       case .shutdown:
         self.monitor.updateState(to: .shutdown, logger: self.logger)

  private var channelNumber: UInt64
  private var channelNumberLock = Lock()

  private var connectionIDAndNumber: String {
    return self.channelNumberLock.withLock {
      return "\(self.connectionID)/\(self.channelNumber)"
    }
  }


      switch self.state {
      case .idle:
        self.monitor.updateState(to: .idle, logger: self.logger)
        self.updateConnectionID()

      case .connecting:
        self.monitor.updateState(to: .connecting, logger: self.logger)
