Commit Graph

1032 Commits

Author SHA1 Message Date
b85a88853a Fixing race between CallbackCanceled and CancelCallback in AsyncInvoker.
Pointer was already protected by a critical section in two places but
not the third. Added thread annotations to prevent this from happening
in the future.

BUG=None

Review-Url: https://codereview.webrtc.org/2726263004
Cr-Commit-Position: refs/heads/master@{#17017}
2017-03-03 18:33:18 +00:00
a1991c5175 Removing HTTPS and SOCKS proxy server code.
This isn't used any more so there's no point in maintaining it.

BUG=None

Review-Url: https://codereview.webrtc.org/2731673002
Cr-Commit-Position: refs/heads/master@{#17016}
2017-03-03 18:23:08 +00:00
db23ea69b6 Add performance tracing for PlatformThread and parts of the video code.
BUG=webrtc:7219

Review-Url: https://codereview.webrtc.org/2729783004
Cr-Commit-Position: refs/heads/master@{#17009}
2017-03-03 15:21:18 +00:00
5bdee47ede Increase tick precision in TaskQueue on Windows 64.
Hopefully this will reduce the flakiness of PostDelayedTask.

BUG=none

Review-Url: https://codereview.webrtc.org/2728663008
Cr-Commit-Position: refs/heads/master@{#17001}
2017-03-03 13:20:12 +00:00
bfc7f02d79 ArrayView: Support compile-time constant sizes
BUG=none

Review-Url: https://codereview.webrtc.org/2667383006
Cr-Commit-Position: refs/heads/master@{#16981}
2017-03-02 20:33:50 +00:00
0473b1dc03 Go back to only using sched_yield on Mac (sigh)
Using sched_yield on Linux seems to be causing RestartingSendStreamPreservesRtpStatesWithRtx/0 to never complete.

BUG=webrtc:7187
TBR=solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2732443002
Cr-Commit-Position: refs/heads/master@{#16975}
2017-03-02 16:08:59 +00:00
500f1b7a32 Add a DCHECK for PlatformThread instances that are too busy.
This adds a simple mechanism that provides protection against
implementations that use the legacy callback type in PlatformThread
and are prone to entering a busy loop.

Enabled only in DCHECK enabled builds.

BUG=webrtc:7187

Review-Url: https://codereview.webrtc.org/2720223003
Cr-Commit-Position: refs/heads/master@{#16973}
2017-03-02 15:07:09 +00:00
d3edd770ad Introduce dchecked_cast, and start using it
It's the faster, less strict cousin of checked_cast.

BUG=none

Review-Url: https://codereview.webrtc.org/2714063002
Cr-Commit-Position: refs/heads/master@{#16958}
2017-03-02 02:52:48 +00:00
275234763b Revert of Use sched_yield on all POSIX platforms in PlatformThread. (patchset #1 id:1 of https://codereview.webrtc.org/2725573002/ )
Reason for revert:
breaks linux_ubsan bots.

Original issue's description:
> Reland of Use sched_yield on all POSIX platforms in PlatformThread. (patchset #1 id:1 of https://codereview.webrtc.org/2712133003/ )
>
> Reason for revert:
> Relanding - using sched_yield() in PlatformThread on all posix platforms.
>
> Original issue's description:
> > Revert of Use sched_yield on all POSIX platforms in PlatformThread. (patchset #1 id:1 of https://codereview.webrtc.org/2716683002/ )
> >
> > Reason for revert:
> > Reverting this change since it didn't affect the perf regressions we were seeing and actually seems to have caused more regressions as per comment in the bug.
> >
> > Original issue's description:
> > > Use sched_yield on all POSIX platforms in PlatformThread.
> > > (not only MacOS)
> > >
> > > This is a test to see if perf regressions we're seeing may be related to the use of nanosleep().
> > >
> > > BUG=695438
> > > TBR=solenberg@webrtc.org
> > >
> > > Review-Url: https://codereview.webrtc.org/2716683002 .
> > > Cr-Commit-Position: refs/heads/master@{#16807}
> > > Committed: 384498abb5
> >
> > TBR=solenberg@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=695438
> >
> > Review-Url: https://codereview.webrtc.org/2712133003
> > Cr-Commit-Position: refs/heads/master@{#16833}
> > Committed: 3ba1a8cd1b
>
> TBR=solenberg@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=695438
>
> Review-Url: https://codereview.webrtc.org/2725573002
> Cr-Commit-Position: refs/heads/master@{#16899}
> Committed: 4974df4183

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

Review-Url: https://codereview.webrtc.org/2721893002
Cr-Commit-Position: refs/heads/master@{#16903}
2017-02-28 14:20:38 +00:00
4974df4183 Reland of Use sched_yield on all POSIX platforms in PlatformThread. (patchset #1 id:1 of https://codereview.webrtc.org/2712133003/ )
Reason for revert:
Relanding - using sched_yield() in PlatformThread on all posix platforms.

Original issue's description:
> Revert of Use sched_yield on all POSIX platforms in PlatformThread. (patchset #1 id:1 of https://codereview.webrtc.org/2716683002/ )
>
> Reason for revert:
> Reverting this change since it didn't affect the perf regressions we were seeing and actually seems to have caused more regressions as per comment in the bug.
>
> Original issue's description:
> > Use sched_yield on all POSIX platforms in PlatformThread.
> > (not only MacOS)
> >
> > This is a test to see if perf regressions we're seeing may be related to the use of nanosleep().
> >
> > BUG=695438
> > TBR=solenberg@webrtc.org
> >
> > Review-Url: https://codereview.webrtc.org/2716683002 .
> > Cr-Commit-Position: refs/heads/master@{#16807}
> > Committed: 384498abb5
>
> TBR=solenberg@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=695438
>
> Review-Url: https://codereview.webrtc.org/2712133003
> Cr-Commit-Position: refs/heads/master@{#16833}
> Committed: 3ba1a8cd1b

TBR=solenberg@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=695438

Review-Url: https://codereview.webrtc.org/2725573002
Cr-Commit-Position: refs/heads/master@{#16899}
2017-02-28 11:17:32 +00:00
78f2d21e74 Fixed cpu time unittest to be less flaky
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2725553002
Cr-Commit-Position: refs/heads/master@{#16897}
2017-02-28 10:24:10 +00:00
ab210c8ad9 Added memory usage function to webrtc/base/.
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2706403010
Cr-Commit-Position: refs/heads/master@{#16895}
2017-02-28 10:18:27 +00:00
37f5ecfd8f Replace NULL with nullptr or null in webrtc/base/.
BUG=webrtc:7147

Review-Url: https://codereview.webrtc.org/2718663005
Cr-Commit-Position: refs/heads/master@{#16878}
2017-02-27 22:06:41 +00:00
ede0759c04 Reland of Use TaskQueue in IncomingVideoStream (patchset #1 id:1 of https://codereview.webrtc.org/2714393003/ )
Use TaskQueue in IncomingVideoStream instead of the PlatformThread + event timer approach.

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

Reland of
686aa37382 (revert)
e2d1d64295 (original)

Review-Url: https://codereview.webrtc.org/2720773002
Cr-Commit-Position: refs/heads/master@{#16872}
2017-02-27 15:16:10 +00:00
686aa37382 Revert of Use TaskQueue in IncomingVideoStream (patchset #10 id:320001 of https://codereview.webrtc.org/2716473002/ )
Reason for revert:
Reverting while fixing build issue in Chromium.

Original issue's description:
> Use TaskQueue in IncomingVideoStream instead of the PlatformThread + event timer approach.
>
> BUG=webrtc:7219, webrtc:7253
>
> Review-Url: https://codereview.webrtc.org/2716473002
> Cr-Commit-Position: refs/heads/master@{#16860}
> Committed: e2d1d64295

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

Review-Url: https://codereview.webrtc.org/2714393003
Cr-Commit-Position: refs/heads/master@{#16863}
2017-02-27 13:10:37 +00:00
055ecd1fdf Fix race in INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO
BUG=webrtc:7251

Review-Url: https://codereview.webrtc.org/2716343002
Cr-Commit-Position: refs/heads/master@{#16862}
2017-02-27 13:09:06 +00:00
e2d1d64295 Use TaskQueue in IncomingVideoStream instead of the PlatformThread + event timer approach.
BUG=webrtc:7219, webrtc:7253

Review-Url: https://codereview.webrtc.org/2716473002
Cr-Commit-Position: refs/heads/master@{#16860}
2017-02-27 12:40:43 +00:00
ccaaffb44a Adding rtc::Unretained to allow avoiding rtc::Bind reference capture.
In some rare circumstances, capturing a reference may be undesired. For
example, when creating an asynchronous task owned by the object itself,
the object may not need or want this task to keep itself alive.

BUG=None

Review-Url: https://codereview.webrtc.org/2711113008
Cr-Commit-Position: refs/heads/master@{#16840}
2017-02-25 20:56:20 +00:00
08187d41ca Rewrite rtc::Bind using variadic templates.
I'd like to make a change to rtc::Bind in another CL, and that will
be easier if there are fewer lines of code to modify.

BUG=None

Review-Url: https://codereview.webrtc.org/2719683002
Cr-Commit-Position: refs/heads/master@{#16838}
2017-02-25 19:21:18 +00:00
c9bb7918f6 Add support for priorities to TaskQueue.
BUG=webrtc:7216

Review-Url: https://codereview.webrtc.org/2708353003
Cr-Commit-Position: refs/heads/master@{#16834}
2017-02-24 18:42:14 +00:00
3ba1a8cd1b Revert of Use sched_yield on all POSIX platforms in PlatformThread. (patchset #1 id:1 of https://codereview.webrtc.org/2716683002/ )
Reason for revert:
Reverting this change since it didn't affect the perf regressions we were seeing and actually seems to have caused more regressions as per comment in the bug.

Original issue's description:
> Use sched_yield on all POSIX platforms in PlatformThread.
> (not only MacOS)
>
> This is a test to see if perf regressions we're seeing may be related to the use of nanosleep().
>
> BUG=695438
> TBR=solenberg@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/2716683002 .
> Cr-Commit-Position: refs/heads/master@{#16807}
> Committed: 384498abb5

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

Review-Url: https://codereview.webrtc.org/2712133003
Cr-Commit-Position: refs/heads/master@{#16833}
2017-02-24 17:12:32 +00:00
162cb53e7b Making AsyncInvoker destructor thread-safe.
The documentation for AsyncInvoker states that it owns the lifetime of
calls, and when its destructor is called, all in-flight calls are
cancelled or finish executing. The "cancelled" part is working, but if
a call is in the middle of executing, the destructor does *not* wait.

This is fixed by keeping a count of pending invocations, which is
decremented when a call is either cleared from a message queue or
finishes executing.

BUG=webrtc:3914, webrtc:3911

Review-Url: https://codereview.webrtc.org/2694723004
Cr-Commit-Position: refs/heads/master@{#16811}
2017-02-24 01:10:07 +00:00
384498abb5 Use sched_yield on all POSIX platforms in PlatformThread.
(not only MacOS)

This is a test to see if perf regressions we're seeing may be related to the use of nanosleep().

BUG=695438
TBR=solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2716683002 .
Cr-Commit-Position: refs/heads/master@{#16807}
2017-02-23 19:23:19 +00:00
8c80c6e389 Fix potential deadlock in TaskQueue's libevent PostTaskAndReply implementation
BUG=webrtc:7188

Review-Url: https://codereview.webrtc.org/2709603002
Cr-Commit-Position: refs/heads/master@{#16786}
2017-02-23 08:34:52 +00:00
0f8b403eb5 Introduce a new constructor to PlatformThread.
The new constructor introduces two new changes:

* Support specifying thread priority at construction time.
  - Moving forward, the SetPriority() method will be removed.
* New thread function type.
  - The new type has 'void' as a return type and a polling loop
    inside PlatformThread, is not used.

The old function type is still supported until all places have been moved over.

In this CL, the first steps towards deprecating the old mechanism are taken
by moving parts of the code that were simple to move, over to the new callback
type.

BUG=webrtc:7187

Review-Url: https://codereview.webrtc.org/2708723003
Cr-Commit-Position: refs/heads/master@{#16779}
2017-02-22 19:22:05 +00:00
1d4e3d8a2e Move rtc_task_runner dependency from rtc_base to rtc_base_unittests.
This is step 3 in the task runner migration process started in cl
https://codereview.webrtc.org/2696703009/.

It depends on step 2 being landed in Chrome, cl
https://codereview.chromium.org/2694363005/.

NOTRY=true
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2708843002
Cr-Commit-Position: refs/heads/master@{#16774}
2017-02-22 14:02:34 +00:00
de6adbe0ba Remove non-ARC code from the codebase.
BUG=webrtc:7198

Review-Url: https://codereview.webrtc.org/2702153004
Cr-Commit-Position: refs/heads/master@{#16765}
2017-02-22 08:42:11 +00:00
9ffa13ff5d Don't attempt to use "network binder" for sockets bound to "ANY" IP.
BUG=NONE

Review-Url: https://codereview.webrtc.org/2701253002
Cr-Commit-Position: refs/heads/master@{#16760}
2017-02-22 00:18:00 +00:00
531100dc7a Reland of Added GetCpuTime to base/ to get total CPU time consumed by process for perf tests.
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2695743003
Cr-Commit-Position: refs/heads/master@{#16665}
Committed: 3ff474b72b

patch from issue 2695743003 at patchset 440001 (http://crrev.com/2695743003#ps440001)

Review-Url: https://codereview.webrtc.org/2706823002
Cr-Commit-Position: refs/heads/master@{#16736}
2017-02-21 11:33:24 +00:00
4024b9bbe6 Move filerotatingstream_unittest.cc to rtc_base_nonparallel_tests.
These tests involve interactions with the file system, so to avoid
flakiness they shouldn't be run in parallel.

BUG=webrtc:7195
NOTRY=True

Review-Url: https://codereview.webrtc.org/2710433003
Cr-Commit-Position: refs/heads/master@{#16727}
2017-02-20 20:07:50 +00:00
21e4e0b0ab Delete webrtc/base/common.h
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2684613002
Cr-Commit-Position: refs/heads/master@{#16718}
2017-02-20 13:01:01 +00:00
e5c27a5db6 Add a PrintTo function for rtc::Optional to aid with testing.
gtest can print objects if they have an operator<< or a PrintTo
function in the same namespace as the object's class. Since
std::optional does not seem to have an operator<<, it'd be preferable
not to rely on rtc::Optional being printable through operator<<.

Currently, gtest errors will just dump the raw bytes of
rtc::Optionals, which make them really annoying to work with in tests.

BUG=webrtc:7196

Review-Url: https://codereview.webrtc.org/2704483002
Cr-Commit-Position: refs/heads/master@{#16717}
2017-02-20 12:41:42 +00:00
8dd4ec3324 Fix clang style warnings in webrtc/base/thread.h
TBR=tommi@webrtc.org
BUG=webrtc:163
NOTRY=True # trivial change, last round of tests passed.

Review-Url: https://codereview.webrtc.org/2706843002
Cr-Commit-Position: refs/heads/master@{#16715}
2017-02-20 12:17:53 +00:00
fe5d521a69 Delete unused class FilesystemScope.
It became unused in cl https://codereview.webrtc.org/2541453002

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2703793002
Cr-Commit-Position: refs/heads/master@{#16711}
2017-02-20 09:06:47 +00:00
915bbd53e4 Add gn target rtc_task_runner.
This is step 1 in the following process to move the task runner
abstraction over to Chrome, without gettings link errors on duplicate
symbols.

1. Move files from the rtc_base target to a new target
   rtc_task_runner, and let rtc_base publicly depend on it.

2. In Chrome, add an explicit dependency on rtc_task_runner where it
   depends on rtc_base.

3. Drop the webrtc dependency rtc_base --> rtc_task_runner.

4. Copy task runner code to Chrome (cl
   https://codereview.chromium.org/2694903005/), and drop its
   dependency on webrtc's rtc_task_runner target.

5. Delete the rtc_task_runner target and corresponding source files
   from webrtc. Mission accomplished!

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2696703009
Cr-Commit-Position: refs/heads/master@{#16710}
2017-02-20 08:50:22 +00:00
bf25bbdc63 Delete unused Filesystem methods GetAppDataFolder and GetDiskFreeSpace.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2699143002
Cr-Commit-Position: refs/heads/master@{#16709}
2017-02-20 08:37:21 +00:00
e29dfb7e36 Delete LoggingSocketAdapter (unused) and AsyncHttpsProxyServerSocket (unimplemented).
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2695593012
Cr-Commit-Position: refs/heads/master@{#16708}
2017-02-20 08:29:55 +00:00
82ead60076 Replace the stop_event_ in PlatformThread with an atomic flag
BUG=webrtc:7187

Review-Url: https://codereview.webrtc.org/2708433002
Cr-Commit-Position: refs/heads/master@{#16705}
2017-02-20 00:09:55 +00:00
8d517c4170 Rewrite of sigslot that avoids vtables.
This reduces binary size considerably and solves some other problems.

Also rewrote using variadic templates.

Initial patch contributed by andrey.semashev@gmail.com.

BUG=webrtc:2305

Review-Url: https://codereview.webrtc.org/2509733003
Cr-Commit-Position: refs/heads/master@{#16703}
2017-02-19 22:12:24 +00:00
a8bc1a1f63 Relanding: Use std::unique_ptr instead of rtc::scoped_refptr in AsyncInvoker.
The AsyncClosures only ever have one thing referencing them, so they
should be using std::unique_ptr to manage ownership. Maybe this code was
written before std::unique_ptr was available.

Originally reverted because it made a change to ScopedMessageData
that wasn't backwards compatible, and applications using the rtc::Thread
infrastructure may be using it.

BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2689233003
Cr-Commit-Position: refs/heads/master@{#16684}
2017-02-18 02:06:26 +00:00
884a7284bd Revert of Use std::unique_ptr instead of rtc::scoped_refptr in AsyncInvoker. (patchset #2 id:20001 of https://codereview.webrtc.org/2689233003/ )
Reason for revert:
The change to messagequeue.h isn't backwards compatible. Will reland after making it backwards compatible.

Original issue's description:
> Use std::unique_ptr instead of rtc::scoped_refptr in AsyncInvoker.
>
> The AsyncClosures only ever have one thing referencing them, so they
> should be using std::unique_ptr to manage ownership. Maybe this code was
> written before std::unique_ptr was available.
>
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/2689233003
> Cr-Commit-Position: refs/heads/master@{#16680}
> Committed: a5a472927b

TBR=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/2703613006
Cr-Commit-Position: refs/heads/master@{#16683}
2017-02-17 23:57:05 +00:00
a5a472927b Use std::unique_ptr instead of rtc::scoped_refptr in AsyncInvoker.
The AsyncClosures only ever have one thing referencing them, so they
should be using std::unique_ptr to manage ownership. Maybe this code was
written before std::unique_ptr was available.

BUG=None

Review-Url: https://codereview.webrtc.org/2689233003
Cr-Commit-Position: refs/heads/master@{#16680}
2017-02-17 23:19:19 +00:00
658c3bb0ab Revert of Added GetCpuTime to base/ to get total CPU time consumed by process for perf tests. (patchset #24 id:440001 of https://codereview.webrtc.org/2695743003/ )
Reason for revert:
The GetThreadCpuTimeTest.SingleThread and .TwoThreads tests are unfortunately flaky on Mac (maybe other platforms).  See for example:

https://build.chromium.org/p/client.webrtc/builders/Mac%20Asan/builds/11271/steps/rtc_unittests%20on%20Mac-10.11/logs/stdio

https://build.chromium.org/p/client.webrtc/builders/Mac64%20Debug/builds/10395/steps/rtc_unittests%20on%20Mac-10.11/logs/stdio

https://build.chromium.org/p/client.webrtc/builders/Mac%20Asan/builds/11271/steps/rtc_unittests%20on%20Mac-10.11/logs/stdio

Since it's late, I'll have to revert the CL to get the tree and trybots green (instead of only disabling the failing tests).

Original issue's description:
> Added GetCpuTime to base/ to get total CPU time consumed by process for perf tests.
>
> BUG=webrtc:7095
>
> Review-Url: https://codereview.webrtc.org/2695743003
> Cr-Commit-Position: refs/heads/master@{#16665}
> Committed: 3ff474b72b

TBR=sprang@webrtc.org,mflodman@webrtc.org,deadbeef@webrtc.org,nisse@webrtc.org,kjellander@webrtc.org,ilnik@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2698333004
Cr-Commit-Position: refs/heads/master@{#16679}
2017-02-17 22:59:19 +00:00
4ef903d3db Don't use CONF_VALUE in VerifyServerName.
This does not fix the myriad of other problems here, but at least
removes the dependency on CONF_VALUE.

BUG=526270

Review-Url: https://codereview.webrtc.org/2705603003
Cr-Commit-Position: refs/heads/master@{#16676}
2017-02-17 21:04:43 +00:00
3ff474b72b Added GetCpuTime to base/ to get total CPU time consumed by process for perf tests.
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2695743003
Cr-Commit-Position: refs/heads/master@{#16665}
2017-02-17 12:02:23 +00:00
f9d9154808 Add support for multimedia timers to TaskQueue on Windows.
Multimedia timers are higher precision than WM_TIMER, but they're also
a limited resource and more costly. So this implementation is a best
effort implementation that falls back on WM_TIMER when multimedia
timers aren't available.

A possible future change could be to make high precision timers in a
TaskQueue, optional. The reason for doing so would be for TaskQueues
that don't need high precision timers, won't eat up timers from TQ
instances that really need it.

BUG=webrtc:7151

Review-Url: https://codereview.webrtc.org/2691973002
Cr-Commit-Position: refs/heads/master@{#16661}
2017-02-17 10:47:11 +00:00
6486ef50ac Delete unused files macconversion.h and .cc.
Unused since cl https://codereview.webrtc.org/2541453002.

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2693973003
Cr-Commit-Position: refs/heads/master@{#16623}
2017-02-15 09:07:57 +00:00
1a95e61e37 Delete httpclient.c and related files.
The files socketpool.h and diskcache.h also become unused, and are
deleted together with their sources.

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2694753002
Cr-Commit-Position: refs/heads/master@{#16601}
2017-02-14 08:23:10 +00:00
77282a87a1 Delete fileutils_mock.h.
It became unused in cl https://codereview.webrtc.org/2541453002/.

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2690093002
Cr-Commit-Position: refs/heads/master@{#16599}
2017-02-14 07:21:52 +00:00
c874d1296a Fixing logic for using android_setsocknetwork() with bind().
If android_setsocknetwork() is available, and it fails, then bind()
should *not* be called, and an error should be returned.

If it succeeds, then bind should be called, but with an "any" address.

This is to prevent cases where sockets are sent with a source address
that doesn't match the network interface they're sent on. See bug below.

This CL also changes "NetworkBinderResults" to an enum class, and
renames it to "NetworkBinderResult".

BUG=webrtc:7026

Review-Url: https://codereview.webrtc.org/2646863005
Cr-Commit-Position: refs/heads/master@{#16597}
2017-02-13 23:41:59 +00:00