 
     // App-side Health Check (Last Pong)
     private var lastPongSocketDates: LastSocketDates?
-    private var lastPongCheckTimer: Timer?
+    private var pingPongCheckTimer: Timer?
     private var pongCatchTimer: Timer?
 
     // App-side Health Check (Text Socket)

    }
}

// MARK: - Private Methods (Last Pong Check Timer)
private extension NicoUtility {
    func startLastPongCheckTimer(interval: Int = lastPongCheckInterval) {
        stopLastPongCheckTimer()
        lastPongSocketDates = .init()
        lastPongCheckTimer = Timer.scheduledTimer(
            timeInterval: Double(interval),
            target: self,
            selector: #selector(NicoUtility.lastPongCheckTimerFired),
            userInfo: nil,
            repeats: true)
        log.debug("Started last-pong check timer.")
    }

    func stopLastPongCheckTimer() {
        lastPongCheckTimer?.invalidate()
        lastPongCheckTimer = nil
        pongCatchTimer?.invalidate()
        pongCatchTimer = nil
        lastPongSocketDates = nil
        log.debug("Stopped last-pong check timer.")
    }

    @objc func lastPongCheckTimerFired() {
        let pingDate = Date()
        messageSocket?.write(ping: Data())
        pongCatchTimer?.invalidate()

// Misc:
private let defaultWatchSocketKeepSeatInterval = 30
private let messageSocketEmptyMessageInterval = 60
private let pingPongCheckInterval = 10
private let pongCatchDelay = 5
private let lastTextCheckInterval = 10
private let textEventDisconnectDetectDelay = 60
