             switch $0 {
             case .success():
                 me.startMessageSocketPingTimer(interval: messageSocketPingInterval)
-                me.lastEstablishedConnectRequest = me.ongoingConnectRequest
+                me.connectRequests.lastEstablished = me.connectRequests.onGoing
                 me.delegate?.nicoUtilityDidConnectToLive(me, roomPosition: RoomPosition.arena)
             case .failure(_):
                 let reason = "Failed to open message server."

extension NicoUtility {
    func connect(liveNumber: Int, sessionType: NicoSessionType, connectContext: NicoUtility.ConnectContext = .normal) {
        // 1. Save connection request.
        ongoingConnectRequest = ConnectRequest(
            liveNumber: liveNumber,
            sessionType: sessionType
        )
        lastEstablishedConnectRequest = nil

        // 2. Save chat numbers.
        switch connectContext {

    private(set) var live: Live?

    // Private Properties
    private var connectRequests: ConnectRequests =
        ConnectRequests(
            onGoing: nil,
            lastEstablished: nil
        )
    private var userSessionCookie: String?
    private let session: Session
    private var managingSocket: WebSocket?
