40 Commits

Author SHA1 Message Date
deadbeef
d59daf8023 Merging BaseSession code into WebRtcSession.
After the TransportController CL, BaseSession does little more than
hold a state and an error, and act as an intermediary for the
TransportController. So it doesn't make sense for it to be its own
class.

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

Cr-Commit-Position: refs/heads/master@{#10281}
2015-10-14 22:02:50 +00:00
honghaiz
1f429e3418 Passing the new policy from PeerConnection RTCConfiguration to
p2ptransportchannel.  This CL does not use the new policy yet.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10092}
2015-09-28 14:57:39 +00:00
deadbeef
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
torbjorng
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
deadbeef
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
Guo-wei Shieh
8902433a43 Revert "TransportController refactoring."
This reverts commit 9af63f473e1d0d6c47a741a046c41642dfc1c178.

Cr-Commit-Position: refs/heads/master@{#9994}
2015-09-18 20:50:31 +00:00
deadbeef
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
Peter Thatcher
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
guoweis
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
Henrik Boström
d82819892a Replaces SSLIdentity* with scoped_refptr<RTCCertificate> in the cricket::Transport layer.
Why the replacements? Mainly two reasons:
1) RTCCertificate owns the identity and as long as things are referencing the identity there should be a scoped_refptr reference to the RTCCertificate. Handing out raw pointers is less memory safe.
2) With the latest RFC, an RTCCertificate should be sufficient for specifying a crypto cert and the code should be updated to use RTCCertificate instead of SSLIdentity directly.

This replace work is split up into multiple CLs. In this CL...
- WebRtcSessionDescriptionFactory is updated to use RTCCertificate over SSLIdentity.
- WebRtcSessionDescriptionFactory::SignalCertificateReady is connected to WebRtcSession::OnCertificateReady and WebRtcSession is updated to use RTCCertificate.
- The cricket::Transport and related classes are updated to use RTCCertificate. These are called from WebRtcSession::OnCertificateReady.

BUG=webrtc:4927
R=tommi@webrtc.org, torbjorng@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9794}
2015-08-27 08:12:37 +00:00
Peter Thatcher
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
minyuel
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
Peter Thatcher
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
pthatcher
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
Peter Thatcher
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
honghaiz
900996290c Add methods to set the ICE connection receiving_timeout values.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#9572}
2015-07-13 19:19:42 +00:00
Peter Thatcher
a6d2444c84 Remove BaseSession::SignalNewDescription. It was only used by GTP and now just clutters the code.
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9564}
2015-07-10 04:26:45 +00:00
Peter Thatcher
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
Joachim Bauch
04e5b49827 Make maximum SSL version configurable through PeerConnectionFactory::Options
This can be used to activate DTLS 1.2 through a command-line flag from Chromium
later.

BUG=chromium:428343
R=jiayl@webrtc.org, juberti@google.com

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

Cr-Commit-Position: refs/heads/master@{#9328}
2015-05-29 07:40:51 +00:00
Donald Curtis
0e209b03bf Update bundle behavior to match BundlePolicy spec in http://rtcweb-wg.github.io/jsep/.
BUG=1574
R=juberti@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8851}
2015-03-24 16:30:02 +00:00
pthatcher@webrtc.org
592470b4ff Remove a dependency of BaseChannel on WebRtcSession by having WebRtcSession push down new media descriptions to BaseChannel rather than having BaseChannel listen to the description changes from WebRtcSession.
This is a part of the big BUNDLE implementation at https://webrtc-codereview.appspot.com/45519004/

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8743}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8743 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 21:16:23 +00:00
pthatcher@webrtc.org
6ad507ac35 Refactor how the TransportChannels are set in the BaseChannel to rely lesson Session, so that in the future we can rely on Transport instead, and also be able to change Transports on the fly for BUNDLE.
Also, remove channel_name.  It's no longer needed.

This is a part of the big BUNDLE implementation at https://webrtc-codereview.appspot.com/45519004/

R=decurtis@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8741}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8741 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 20:19:42 +00:00
pthatcher@webrtc.org
c04a97f054 Move from BaseSession::GetStats to WebRtcSession::GetTransportStats
This is a part of the big BUNDLE implementation at https://webrtc-codereview.appspot.com/45519004/

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

Cr-Commit-Position: refs/heads/master@{#8739}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8739 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 19:32:23 +00:00
pthatcher@webrtc.org
990a00c30a Remove unused transport code.
This is a part of the big BUNDLE implementation at https://webrtc-codereview.appspot.com/45519004/

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8719}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8719 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-13 18:20:48 +00:00
pthatcher@webrtc.org
877ac765ad Cleanup and prepare for bundling.
- Add a GetOptions function. Needed for eventual bundle testing to
  confirm that channel options are preserved.
- Simplify unit tests and cleanup unused code.

This is a re-roll of 8237 (https://webrtc-codereview.appspot.com/39699004) with a default GetOption implementation.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8245}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8245 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-04 22:03:41 +00:00
bjornv@webrtc.org
520a69e8ea Revert 8238 "Add RefCounting for TransportProxies"
Failing on Mac64_Debug

> Add RefCounting for TransportProxies
> 
> BUG=1574
> R=pthatcher@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/37869004

TBR=decurtis@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8243}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8243 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-04 12:46:13 +00:00
bjornv@webrtc.org
c5f697135e Revert 8237 "Cleanup and prepare for bundling."
libjingle_peerconnection_objc_test consistently failing on Mac64 Debug.

> Cleanup and prepare for bundling.
> 
> - Add a GetOptions function. Needed for eventual bundle testing to
>   confirm that channel options are preserved.
> - Simplify unit tests and cleanup unused code.
> 
> BUG=1574
> R=pthatcher@webrtc.org, tommi@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/39699004

TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8241}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8241 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-04 10:22:43 +00:00
decurtis@webrtc.org
e2506670a4 Add RefCounting for TransportProxies
BUG=1574
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8238}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8238 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-03 23:19:23 +00:00
pthatcher@webrtc.org
af01d93aa2 Cleanup and prepare for bundling.
- Add a GetOptions function. Needed for eventual bundle testing to
  confirm that channel options are preserved.
- Simplify unit tests and cleanup unused code.

BUG=1574
R=pthatcher@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8237}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8237 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-03 23:14:18 +00:00
decurtis@webrtc.org
357469da5a Fixes reference counting problem when a TransportProxy points to a Transport prior to creating channels.
Until the TransportProxy enters the "negotiated" state we only create
ChannelImpls but we don't hook up to them. However, we still neeed to
reserve their spot and increment the reference count.

Once we are negotiated we can hook all the ChannelProxy's to the
corresponding ChannelImpls.

This change is needed to implement maxbundle.

BUG=1574
R=pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8082 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 22:53:49 +00:00
pthatcher@webrtc.org
aacc23465b Split up (Jingle)Session from BaseSession. This is part of an ongoing effort to move Jingle-specific code out of WebRTC and into its own repository.
(This is the 3rd try)

R=juberti@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7956 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 20:31:29 +00:00
pthatcher@webrtc.org
4cb3856a4d Revert "Split up (Jingle)Session from BaseSession. This is part of an ongoing effort to move Jingle-specific code out of WebRTC and into its own repository."
This reverts r7939 because it broke Chromium and other depedent projects that rely on certain logic remaining in p2p/base/session.cc and not in webrtc/libjingle/session.cc.

BUG=
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7940 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 02:28:25 +00:00
pthatcher@webrtc.org
536f999e58 Split up (Jingle)Session from BaseSession. This is part of an ongoing effort to move Jingle-specific code out of WebRTC and into its own repository.
This is an un-revert of r7992 and r7993.

R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7939 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 01:22:02 +00:00
pthatcher@webrtc.org
f050791ba0 Revert "Split up (Jingle)Session from BaseSession. This is part of an ongoing effort to move Jingle-specific code out of WebRTC and into its own repository."
This reverts r7992.

It broke the Chromium build because the Chroumium build relies on the logic in webtc/libjingle/session.cc, but Chromium doesn't compile that file.

R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7923 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 22:28:03 +00:00
pthatcher@webrtc.org
4afb59903c Split up (Jingle)Session from BaseSession. 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/35529004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7922 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 21:37:37 +00:00
pbos@webrtc.org
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
pthatcher@webrtc.org
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
henrike@webrtc.org
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
henrike@webrtc.org
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
henrike@webrtc.org
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