         var onGoing: Request?
         var lastEstablished: Request?
     }
-    struct ChatNo {
+    struct ChatNumbers {
         var latest: Int
         var maxBeforeReconnect: Int
     }

        guard let _chat = try? decoder.decode(WebSocketChatData.self, from: data) else { return }
        // log.debug(_chat)
        let chat = _chat.toChat()
        guard chatNo.maxBeforeReconnect < chat.no else {
            log.debug("Skip duplicated chat.")
            return
        }
        chatNo.latest = chat.no
        delegate?.nicoUtilityDidReceiveChat(self, chat: chat)
        if _chat.isDisconnect {
            disconnect()

        // 2. Save chat numbers.
        switch connectContext {
        case .normal:
            chatNumbers.latest = 0
            chatNumbers.maxBeforeReconnect = 0
        case .reconnect:
            chatNumbers.maxBeforeReconnect = chatNumbers.latest
        }

        // 3. Cleanup current connection, if needed.
