Commit Graph

15 Commits

Author SHA1 Message Date
2c48d0c531 Relanding: Remove the IceTransportInternal2.
Introduing IceTransportInternal2 is a temporary fix to switch the base
class of P2PTransportChannel to IceTransportInternal without breaking
Chromium. It is removed in this CL.

Reland this CL after Chromium doesn't depend on this.

BUG=webrtc:6951

Review-Url: https://codereview.webrtc.org/2632563002
Cr-Original-Commit-Position: refs/heads/master@{#16131}
Committed: c7953fa716
Review-Url: https://codereview.webrtc.org/2632563002
Cr-Commit-Position: refs/heads/master@{#16960}
2017-03-02 06:47:18 +00:00
dbeeb701a2 Use rtc::ToString instead of std::to_string.
std::to_string isn't usable in some versions of the Android NDK.

BUG=webrtc:7174
TBR=pthatcher@webrtc.org

Review-Url: https://codereview.webrtc.org/2697313003
Cr-Commit-Position: refs/heads/master@{#16651}
2017-02-16 19:10:51 +00:00
5bd5ca344e Rename "PacketTransportInterface" to "PacketTransportInternal".
This is the naming scheme we've been using for internal interfaces.

Also, this CL will introduce a PacketTransportInterface in the webrtc namespace,
which would get too easily confused with the rtc:: one:
https://codereview.webrtc.org/2675173003/

BUG=None

Review-Url: https://codereview.webrtc.org/2679103006
Cr-Commit-Position: refs/heads/master@{#16539}
2017-02-10 19:31:50 +00:00
d030912de4 Pick the DTLS handshake timeout based on the ICE RTT estimate
This CL replaces the previously-hardcoded DTLS timeout value of 50 ms with one that is picked dynamically as 2x ICE RTT (clamped between 50 and 3000 ms to keep it reasonable).

No tests yet - I'm working on these, but sending out this CL early to get feedback. I've tested it manually and on slow networks it results in successful DTLS setup in a single attempt - instead of clogging up the slow link with multiple retransmissions as done previosly.

BUG=webrtc:7099

Review-Url: https://codereview.webrtc.org/2670113002
Cr-Commit-Position: refs/heads/master@{#16426}
2017-02-03 01:18:37 +00:00
b2cdd93fd6 Remove the dependency of TransportChannel and TransportChannelImpl.
DtlsTransportChannelWrapper is renamed to be DtlsTransport which inherits from
DtlsTransportInternal. There will be no concept of "channel" in p2p level.
Both P2PTransportChannel and DtlsTransport don't depend on TransportChannel
and TransportChannelImpl any more and they are removed in this CL.

BUG=none

Review-Url: https://codereview.webrtc.org/2606123002
Cr-Commit-Position: refs/heads/master@{#16173}
2017-01-20 00:54:25 +00:00
6ce9259cb0 Revert of make the DtlsTransportWrapper inherit form DtlsTransportInternal (patchset #11 id:320001 of https://codereview.webrtc.org/2606123002/ )
Reason for revert:
Failed the memory check.
May need to fix the memory leak.

Original issue's description:
> make the DtlsTransportWrapper inherit form DtlsTransportInternal
>
> BUG=none
>
> Review-Url: https://codereview.webrtc.org/2606123002
> Cr-Commit-Position: refs/heads/master@{#16160}
> Committed: 5aed06c8d3

TBR=deadbeef@webrtc.org,pthatcher@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=none

Review-Url: https://codereview.webrtc.org/2639203004
Cr-Commit-Position: refs/heads/master@{#16162}
2017-01-19 12:49:47 +00:00
5aed06c8d3 make the DtlsTransportWrapper inherit form DtlsTransportInternal
BUG=none

Review-Url: https://codereview.webrtc.org/2606123002
Cr-Commit-Position: refs/heads/master@{#16160}
2017-01-19 09:48:02 +00:00
c7953fa716 Remove the IceTransportInternal2.
Introduing IceTransportInternal2 is a temporary fix to switch the base
class of P2PTransportChannel to IceTransportInternal without breaking
Chromium. It is removed in this CL.

Reland this CL after Chromium doesn't depend on this.

BUG=webrtc:6951

Review-Url: https://codereview.webrtc.org/2632563002
Cr-Commit-Position: refs/heads/master@{#16131}
2017-01-18 03:40:19 +00:00
97b7d5fe0b Revert of Remove the IceTransportInternal2. (patchset #1 id:1 of https://codereview.webrtc.org/2632563002/ )
Reason for revert:
Broke Chromium FYI bots. See for example https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/8631

FAILED: obj/remoting/protocol/protocol/ice_transport_channel.obj
ninja -t msvc -e environment.x86 -- E:\b\c\cipd\goma/gomacc.exe "E:\b\depot_tools\win_toolchain\vs_files\d3cb0e37bdd120ad0ac4650b674b09e81be45616\VC\bin\amd64_x86/cl.exe" /nologo /showIncludes /FC @obj/remoting/protocol/protocol/ice_transport_channel.obj.rsp /c ../../remoting/protocol/ice_transport_channel.cc /Foobj/remoting/protocol/protocol/ice_transport_channel.obj /Fd"obj/remoting/protocol/protocol_cc.pdb"
e:\b\c\b\win_builder\src\remoting\protocol\ice_transport_channel.cc(186): error C2039: 'IceTransportInternal2': is not a member of 'cricket'
e:\b\c\b\win_builder\src\third_party\webrtc\p2p\base\p2ptransportchannel.h(38): note: see declaration of 'cricket'
e:\b\c\b\win_builder\src\remoting\protocol\ice_transport_channel.cc(186): error C2065: 'IceTransportInternal2': undeclared identifier
e:\b\c\b\win_builder\src\remoting\protocol\ice_transport_channel.cc(186): error C2065: 'ice_transport': undeclared identifier
e:\b\c\b\win_builder\src\remoting\protocol\ice_transport_channel.cc(187): error C2059: syntax error: 'const'
e:\b\c\b\win_builder\src\remoting\protocol\ice_transport_channel.cc(187): error C2143: syntax error: missing ';' before '{'
e:\b\c\b\win_builder\src\remoting\protocol\ice_transport_channel.cc(187): error C2447: '{': missing function header (old-style formal list?)

Original issue's description:
> Remove the IceTransportInternal2.
>
> Introduing IceTransportInternal2 is a temporary fix to switch the base
> class of P2PTransportChannel to IceTransportInternal without breaking
> Chromium. It is removed in this CL.
>
> BUG=webrtc:6951
>
> Review-Url: https://codereview.webrtc.org/2632563002
> Cr-Commit-Position: refs/heads/master@{#16083}
> Committed: 8aaa51190e

TBR=deadbeef@webrtc.org,zhihuang@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6951

Review-Url: https://codereview.webrtc.org/2630243002
Cr-Commit-Position: refs/heads/master@{#16086}
2017-01-16 08:12:52 +00:00
8aaa51190e Remove the IceTransportInternal2.
Introduing IceTransportInternal2 is a temporary fix to switch the base
class of P2PTransportChannel to IceTransportInternal without breaking
Chromium. It is removed in this CL.

BUG=webrtc:6951

Review-Url: https://codereview.webrtc.org/2632563002
Cr-Commit-Position: refs/heads/master@{#16083}
2017-01-16 03:12:45 +00:00
d06adf60c1 Make P2PTransportChannel inherit from IceTransportInternal.
Make P2PTransportChannel inherit from IceTransportInternal instead of
TransportChannelImpl and TransportChannel, so that the DTLS-related methods can
be separated from P2PTransportChannel.

BUG=webrtc:6951

Review-Url: https://codereview.webrtc.org/2608353003
Cr-Commit-Position: refs/heads/master@{#16041}
2017-01-12 23:58:31 +00:00
655f7cf355 Prepare to introduce the IceTransportInternal.
The P2PTransportChannel will eventually inherit from IceTransportInternal instead of TransportChannelImpl.
However, the Chromium/remoting depends on TransportChannel and TransportChannelImpl.

The solution to work around this:
Step1:
  Make a WebRTC CL to introduce IceTransportInternal and IceTransportInternal2 by type-defining
  TransportChannel and TransportChannelImpl.
Step2:
  Make a Chromium CL to replace the TransportChannel and TransportChannelImpl with
  IceTransportInternal and IceTransportInternal2.
Step3:
  Make a WebRTC to redefine IceTransportInternal2 to be IceTransportInternal and switch the base
  class of P2PTransportChannel with IceTransportInternal.
Step4"
  Make a Chromium CL to remove the IceTransportInternal2.

This CL is the Step1. The real IceTransportInternal implementation
is commented out temporarily.

BUG=none

Review-Url: https://codereview.webrtc.org/2598103003
Cr-Commit-Position: refs/heads/master@{#15824}
2016-12-28 21:55:02 +00:00
c37ad499da Revert of Make P2PTransportChannel inherit from IceTransportInternal. (patchset #3 id:80001 of https://codereview.webrtc.org/2590063002/ )
Reason for revert:
Breaks Chromium WebRTC FYI bots:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/12337
The error was masked by another breaking change that was committer earlier. This is the first build showing the error.

Original issue's description:
> Make P2PTransportChannel inherit from IceTransportInternal.
>
> Make P2PTransportChannel inherit from IceTransportInternal instead of
> TransportChannelImpl and TransportChannel, so that the DTLS-related methods can
> be separated from P2PTransportChannel.
>
> BUG=none
>
> Review-Url: https://codereview.webrtc.org/2590063002
> Cr-Commit-Position: refs/heads/master@{#15743}
> Committed: 12749d89d9

TBR=deadbeef@webrtc.org,zhihuang@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=none

Review-Url: https://codereview.webrtc.org/2594343002
Cr-Commit-Position: refs/heads/master@{#15751}
2016-12-22 07:52:00 +00:00
12749d89d9 Make P2PTransportChannel inherit from IceTransportInternal.
Make P2PTransportChannel inherit from IceTransportInternal instead of
TransportChannelImpl and TransportChannel, so that the DTLS-related methods can
be separated from P2PTransportChannel.

BUG=none

Review-Url: https://codereview.webrtc.org/2590063002
Cr-Commit-Position: refs/heads/master@{#15743}
2016-12-21 18:26:18 +00:00
86abd6f2fd Add an abstract class for IceTransport
P2PTransportChannl will be renamed to IceTransport and this class will be
the base class of IceTransport. By doing this, the Dtls related methods
can be separated from the IceTransport.

For more detail, https://docs.google.com/document/d/1g9RA0s4RV7hFAcWiAM2b6H5ZohAVpBqcYienEDj6IcY/edit

BUG=none

Review-Url: https://codereview.webrtc.org/2577183004
Cr-Commit-Position: refs/heads/master@{#15690}
2016-12-19 19:54:05 +00:00