Commit Graph

32 Commits

Author SHA1 Message Date
b825aee04a Start ICE connectivity checks as soon as the first pair is pingable.
Previously, we were starting a periodic timer when the local
description was set. The first connection may be created at any
time after this happens, so after creating the first connection, we
need to wait until that timer next fires before sending a ping.

Now we just start that timer (and send the first ping) immediately
after the first connection becomes pingable.

This CL also removes the "Connect" method. The only vestigal
effect of this method was to start the periodic timer, which is
now not needed since it happens automatically.

R=honghaiz@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/2099563004 .

Cr-Commit-Position: refs/heads/master@{#13331}
2016-06-29 20:07:26 +00:00
73fbcf9237 Don't re-determine ICE role on an ICE restart.
This only causes an increased likelihood of role conflicts as each peer
is picking a new role. It also means that if ICE is restarted for only
one media stream, roles can be different across media streams (which isn't
even allowed).

For more explanation of why this is unnecessary and should be changed,
see this discussion:
https://mailarchive.ietf.org/arch/msg/ice/C0_QRCTNcwtvUF12y28jQicPR10

Review-Url: https://codereview.webrtc.org/2046123003
Cr-Commit-Position: refs/heads/master@{#13077}
2016-06-08 20:13:06 +00:00
bfefb03ec1 Replace scoped_ptr with unique_ptr everywhere
But keep #including scoped_ptr.h in .h files, so as not to break
WebRTC users who expect those .h files to give them rtc::scoped_ptr.

BUG=webrtc:5520

Review-Url: https://codereview.webrtc.org/1937693002
Cr-Commit-Position: refs/heads/master@{#12581}
2016-05-01 21:53:55 +00:00
e7748674ee Allow TransportController to create a QuicTransportChannel
A QuicTransport is implemented that subclasses Transport
and takes ownership of the QuicTransportChannel/P2PTransportChannel.

Split from CL https://codereview.webrtc.org/1844803002/.

BUG=

Review-Url: https://codereview.webrtc.org/1856943002
Cr-Commit-Position: refs/heads/master@{#12575}
2016-04-30 03:21:04 +00:00
3ec4679dd2 Replace scoped_ptr with unique_ptr in webrtc/p2p/
But keep #including scoped_ptr.h in .h files, so as not to break
WebRTC users who expect those .h files to give them rtc::scoped_ptr.

BUG=webrtc:5520

Review URL: https://codereview.webrtc.org/1923163003

Cr-Commit-Position: refs/heads/master@{#12532}
2016-04-27 14:22:58 +00:00
3ba4d53379 Remove the if condition block in the function Transport::ConnectChannels. It will not be triggered anymore.
Review URL: https://codereview.webrtc.org/1844133002

Cr-Commit-Position: refs/heads/master@{#12321}
2016-04-11 22:10:57 +00:00
46eed76207 Removing "candidates" attribute from TransportDescription.
It's never used anywhere, so it only causes confusion between
itself and SessionDescriptionInterface::candidates.

Review URL: https://codereview.webrtc.org/1642733002

Cr-Commit-Position: refs/heads/master@{#11420}
2016-01-28 21:24:45 +00:00
c4d3a5d44c Thinning out the Transport class.
Connecting TransportChannelImpls directly to the TransportController,
and removing redundant signal forwarding/state aggregating code from
Transport. This brings us closer to just getting rid of Transport
entirely.

R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1380563002 .

Cr-Commit-Position: refs/heads/master@{#10120}
2015-09-30 17:33:08 +00:00
cbecd358e0 Reland of TransportController refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/1358413003/ )
Reason for revert:
This CL just landed: https://codereview.chromium.org/1323243006/

Which fixes the FYI bots for the original CL, and breaks them for this revert.

Original issue's description:
> Revert of TransportController refactoring. (patchset #6 id:100001 of https://codereview.webrtc.org/1350523003/ )
>
> Reason for revert:
> This CL causes problems with the WebRTC-in-Chromium FYI bots. Presumably it needs to be done in several steps, where removed files are emptied instead of removed in the first step.
>
> Original issue's description:
> > TransportController refactoring.
> >
> > Getting rid of TransportProxy, and in its place adding a
> > TransportController class which will facilitate access to and manage
> > the lifetimes of Transports. These Transports will now be accessed
> > solely from the worker thread, simplifying their implementation.
> >
> > This refactoring also pulls Transport-related code out of BaseSession.
> > Which means that BaseChannels will now rely on the TransportController
> > interface to create channels, rather than BaseSession.
> >
> > Committed: https://crrev.com/47ee2f3b9f33e8938948c482c921d4e13a3acd83
> > Cr-Commit-Position: refs/heads/master@{#10022}
>
> TBR=pthatcher@webrtc.org,deadbeef@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/a81a42f584baa0d93a4b93da9632415e8922450c
> Cr-Commit-Position: refs/heads/master@{#10024}

TBR=pthatcher@webrtc.org,torbjorng@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.webrtc.org/1361773005

Cr-Commit-Position: refs/heads/master@{#10036}
2015-09-23 18:50:31 +00:00
a81a42f584 Revert of TransportController refactoring. (patchset #6 id:100001 of https://codereview.webrtc.org/1350523003/ )
Reason for revert:
This CL causes problems with the WebRTC-in-Chromium FYI bots. Presumably it needs to be done in several steps, where removed files are emptied instead of removed in the first step.

Original issue's description:
> TransportController refactoring.
>
> Getting rid of TransportProxy, and in its place adding a
> TransportController class which will facilitate access to and manage
> the lifetimes of Transports. These Transports will now be accessed
> solely from the worker thread, simplifying their implementation.
>
> This refactoring also pulls Transport-related code out of BaseSession.
> Which means that BaseChannels will now rely on the TransportController
> interface to create channels, rather than BaseSession.
>
> Committed: https://crrev.com/47ee2f3b9f33e8938948c482c921d4e13a3acd83
> Cr-Commit-Position: refs/heads/master@{#10022}

TBR=pthatcher@webrtc.org,deadbeef@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.webrtc.org/1358413003

Cr-Commit-Position: refs/heads/master@{#10024}
2015-09-23 09:24:27 +00:00
47ee2f3b9f TransportController refactoring.
Getting rid of TransportProxy, and in its place adding a
TransportController class which will facilitate access to and manage
the lifetimes of Transports. These Transports will now be accessed
solely from the worker thread, simplifying their implementation.

This refactoring also pulls Transport-related code out of BaseSession.
Which means that BaseChannels will now rely on the TransportController
interface to create channels, rather than BaseSession.

Review URL: https://codereview.webrtc.org/1350523003

Cr-Commit-Position: refs/heads/master@{#10022}
2015-09-22 22:08:31 +00:00
8902433a43 Revert "TransportController refactoring."
This reverts commit 9af63f473e1d0d6c47a741a046c41642dfc1c178.

Cr-Commit-Position: refs/heads/master@{#9994}
2015-09-18 20:50:31 +00:00
9af63f473e TransportController refactoring.
Getting rid of TransportProxy, and in its place adding a
TransportController class which will facilitate access to and manage
the lifetimes of Transports. These Transports will now be accessed
solely from the worker thread, simplifying their implementation.

This refactoring also pulls Transport-related code out of BaseSession.
Which means that BaseChannels will now rely on the TransportController
interface to create channels, rather than BaseSession.

This CL also adds some unit tests, and does some renaming.
For example, from "CandidateReady" to "CandidateGathered".

Review URL: https://codereview.webrtc.org/1246913005

Cr-Commit-Position: refs/heads/master@{#9993}
2015-09-18 19:56:02 +00:00
7cbd188c5e Remove GICE (again).
R=guoweis@webrtc.org

Review URL: https://codereview.webrtc.org/1353713002 .

Cr-Commit-Position: refs/heads/master@{#9979}
2015-09-18 01:55:03 +00:00
d12140a68e Revert change which removes GICE.
There are still dependencies on this functionality.

TBR=pthatcher@webrtc.org

BUG=526399

Review URL: https://codereview.webrtc.org/1336553003

Cr-Commit-Position: refs/heads/master@{#9920}
2015-09-10 20:32:21 +00:00
2159b89fa2 Reland "Remove GICE (gone forever!) and PORTALLOCATOR_ENABLE_SHARED_UFRAG (enabled forever)." becauese remoting code is using dead constants and breaks the FYI bots.
This reverts commit 5bdafd44c86ee46bd7e040f19828324583418b33.

Original CL: https://codereview.webrtc.org/1263663002/

R=guoweis@webrtc.org

Review URL: https://codereview.webrtc.org/1303393002 .

Cr-Commit-Position: refs/heads/master@{#9761}
2015-08-22 03:46:18 +00:00
5bdafd44c8 Revert "Reland "Remove GICE (gone forever!) and PORTALLOCATOR_ENABLE_SHARED_UFRAG (enabled forever)." becauese remoting code is using dead constants and breaks the FYI bots.""
This reverts commit 081f34b564e1a26ffbbe9515eba1fef7c736fdde.

Original code review see
https://codereview.webrtc.org/1291363005

The revert is due to a suspicion of "Reland "Remove GICE..." being the cause of failure on Linux memcheck, see
https://build.chromium.org/p/client.webrtc/builders/Linux%20Memcheck/builds/4137

TBR=pthatcher@webrtc.org,

BUG=

Review URL: https://codereview.webrtc.org/1308753003 .

Cr-Commit-Position: refs/heads/master@{#9756}
2015-08-21 13:52:58 +00:00
081f34b564 Reland "Remove GICE (gone forever!) and PORTALLOCATOR_ENABLE_SHARED_UFRAG (enabled forever)." becauese remoting code is using dead constants and breaks the FYI bots."
This reverts commit 475243a134be003aab30bb17294ca6c664d0ef81.

R=guoweis@webrtc.org

Review URL: https://codereview.webrtc.org/1291363005 .

Cr-Commit-Position: refs/heads/master@{#9738}
2015-08-20 03:37:59 +00:00
fa301809b6 Revert "Remove GICE (gone forever!) and PORTALLOCATOR_ENABLE_SHARED_UFRAG (enabled forever)." becauese remoting code is using dead constants and breaks the FYI bots.
This reverts commit 3449faa553ec94c52ef2d0949867befb60992c88.

TBR=deadbeef@webrtc.org, juberti@webrtc.org
NOPRESUBMIT=true

Review URL: https://codereview.webrtc.org/1274273005

Cr-Commit-Position: refs/heads/master@{#9698}
2015-08-11 11:13:00 +00:00
3449faa553 Remove GICE (gone forever!) and PORTALLOCATOR_ENABLE_SHARED_UFRAG (enabled forever).
R=deadbeef@webrtc.org, juberti@webrtc.org

Review URL: https://codereview.webrtc.org/1263663002 .

Cr-Commit-Position: refs/heads/master@{#9692}
2015-08-10 19:22:59 +00:00
54360510ff Add flakyness check based on the recently received packets.
BUG=
R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1207563002 .

Cr-Commit-Position: refs/heads/master@{#9553}
2015-07-08 18:08:39 +00:00
5647877b2d Breakup Transports and TransportParsers and move TransportParsers into webrtc/libjingle. This is part of an ongoing effort to move Jingle-specific code out of WebRTC and into its own repository.
R=juberti@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7959 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-19 03:32:59 +00:00
950c518251 Add adapter_type into Candidate object.
Expose adapter_type from Candidate such that we could add jmidata on top of this.

Created a new type of report just for Ice candidate. The candidate's id is used as part of report identifier. This code change only reports the best connection's local candidate's adapter type. There should be cleaning later to move other candidate's attributes to the new report.

This is migrated from issue 32599004

BUG=
R=juberti@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=7885

Committed: https://code.google.com/p/webrtc/source/detail?r=7906

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7925 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 23:01:31 +00:00
55360ae402 Revert "Add adapter_type into Candidate object."
This reverts commit aaf02cc2d4f696345ce0e6d5715f2cfa22aea689.

BUG=
TBR=juberti@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7908 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 05:28:10 +00:00
aaf02cc2d4 Add adapter_type into Candidate object.
Expose adapter_type from Candidate such that we could add jmidata on top of this.

Created a new type of report just for Ice candidate. The candidate's id is used as part of report identifier. This code change only reports the best connection's local candidate's adapter type. There should be cleaning later to move other candidate's attributes to the new report.

This is migrated from issue 32599004

BUG=
R=juberti@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=7885

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7906 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 23:03:10 +00:00
fb108b5a28 Revert r7885.
Breaks compile step of other code where network name of
cricket::Candidate is used.

TBR=guoweis@webrtc.org,juberti@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7892 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 08:04:50 +00:00
18a3896bd2 Revert r7886:7887.
Broke build steps in other code that uses securetunnelsessionclient.cc
and others.

TBR=tommi@webrtc.org,pthatcher@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7890 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 07:03:04 +00:00
dee76f3b89 Move the obvious/easy Jingle-specific code into webrtc/libjingle.
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7886 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-12 21:04:42 +00:00
8c9d79a29d Add adapter_type into Candidate object.
Expose adapter_type from Candidate such that we could add jmidata on top of this.

Created a new type of report just for Ice candidate. The candidate's id is used as part of report identifier. This code change only reports the best connection's local candidate's adapter type. There should be cleaning later to move other candidate's attributes to the new report.

This is migrated from issue 32599004

BUG=
R=juberti@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7885 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-12 19:21:14 +00:00
269fb4bc90 move xmpp and p2p to webrtc
Create a copy of talk/xmpp and talk/p2p under webrtc/libjingle/xmpp and
webrtc/p2p. Also makes libjingle use those version instead of the one in the talk folder.

BUG=3379

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7549 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-28 22:20:11 +00:00
28100cb388 Reverts r7459 "Create a copy of talk/xmpp and talk/p2p under webrtc/libjingle/xmpp and webrtc/p2p."
BUG=N/A
TBR=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7472 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-17 22:03:39 +00:00
d1ba6d9cbf Create a copy of talk/xmpp and talk/p2p under webrtc/libjingle/xmpp and webrtc/p2p.
BUG=3379
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7459 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-15 17:30:28 +00:00