Remove ASSERT in TransportChannelProxy::SetImplementation, when

proxy already set to same transport channel impl.

Since session can call SetImplementation multiple times with or without BUNDLE, there are cases when SetImplementation is called with same impl (OnRemoteCandidates/PushdownTransportDescription/SetupMux). Also variables in
cricket::TransportProxy like |connecting_| and |negotiated_| are accessed
both between worker thread and signaling threads (which calls for bigger change
on how session interacts with Transport and TransportChannelProxy). I have a created a separate bug to address later issue.

Also if single thread used as worker and signaling thread, we can end up
calling SetLocalDescription and OnRemoteCandidates in same call sequence, which
will end up calling SetImplementation twice.

R=wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12019007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5944 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
mallinath@webrtc.org 2014-04-19 01:03:33 +00:00
parent f5a33f145b
commit 54fd70046d

View File

@ -58,7 +58,6 @@ void TransportChannelProxy::SetImplementation(TransportChannelImpl* impl) {
ASSERT(talk_base::Thread::Current() == worker_thread_); ASSERT(talk_base::Thread::Current() == worker_thread_);
if (impl == impl_) { if (impl == impl_) {
ASSERT(false);
// Ignore if the |impl| has already been set. // Ignore if the |impl| has already been set.
LOG(LS_WARNING) << "Ignored TransportChannelProxy::SetImplementation call " LOG(LS_WARNING) << "Ignored TransportChannelProxy::SetImplementation call "
<< "with a same impl as the existing one."; << "with a same impl as the existing one.";