             case .update(sdp: let sdp):
                 guard configuration.role == .group else { return }
                 Logger.debug(type: .peerChannel, message: "receive update")
-                createAndSendUpdateAnswer(forOffer: sdp)
+                createAndSendUpdateAnswerMessage(forOffer: sdp)
                 
             case .notify(message: let message):
                 Logger.debug(type: .peerChannel, message: "receive notify")

        }
    }
    
    func createAndSendUpdateAnswer(forOffer offer: String) {
        state = .waitingUpdateComplete
        nativeChannel.createAnswer(forOffer: offer,
                                   constraints: webRTCConfiguration.nativeConstraints)
        { answer, error in
            guard error == nil else {
                self.disconnect(error: error)
                return
            }
            
            let message = SignalingMessage.update(sdp: answer!)
            self.signalingChannel.send(message: message)
            
            // Answer 送信後に RTCPeerConnection の状態に変化はないため、
            // Answer を送信したら更新完了とする
            self.state = .connected
            
            self.channel.handlers.onUpdateHandler?(answer!)
        }
    }
    
    func finishConnecting() {
        Logger.debug(type: .peerChannel, message: "did connect")
        Logger.debug(type: .peerChannel,

        channel.addStream(stream)
    }
    
    func createAndSendAnswerMessage(offer: SignalingOfferMessage) {
        Logger.debug(type: .peerChannel, message: "try sending answer")
        state = .waitingComplete
        
