This directory contains an implementation of the Open Screen platform API along with utility functions, using the //base and //net directories in Chromium.

Any Chromium target that (indirectly) depends on //third_party/openscreen/src/platform:api must also (indirectly) depend on one of two components provided by this component. In nearly all cases, the dependency should be in the same deps as //third_party/openscreen/src/platform:api. Most external targets should depend on //components/openscreen_platform. Targets that cannot use the Network Service should instead depend on //components/openscreen_platform:openscreen_platform_using_net_sockets, which uses a //net-based implementation of UdpSocket. These two targets are incompatible with each other.

A very small set of intermediary targets that are used by both types of targets above depend directly on //components/openscreen_platform:openscreen_platform_without_sockets and push the requirement to depend on one of the two public targets up to the dependency chain.