Add support for jumbo in services/network (-7 CPU minutes)

This adds support for jumbo compilation of services/network. Jumbo
is a unity build implementation where many files are compiled
together in the same translation unit. That is usually much faster,
and more efficient, than compiling one file at a time, but it requires
the code to be compatible with such treatment.

In services/network there were two problems, one duplicated function
which this patch unduplicates, and the IPC/ParamTraits system which
is sensitive to include header ordering.

In total, on the build time reference test, this saves 7 CPU minutes
(from 12 to 4), or roughly 1 minute on an 8 core machine.

Cq-Include-Trybots: luci.chromium.try:linux_mojo
Change-Id: I997cc61159ccf9f23eb22f3b954b888b498e3862
Reviewed-by: Yutaka Hirano <>
Commit-Queue: Daniel Bratell <>
Cr-Commit-Position: refs/heads/master@{#591300}
4 files changed