         }
     }
     
-    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,

            switch message {
            case .offer(let offer):
                Logger.debug(type: .peerChannel, message: "receive offer")
                sendAnswerMessage(offer: offer)
                
            default:
                // discard

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