Other modules in Open Screen use this module to advertise and discover presentation displays. If you wish to provide your own implementation of DNS-SD, implement the DNS-SD public interfaces and updating the linker rules. In this case, the public discovery layer will continue to function as described below.
Note that this DNS-SD implementation is fully generic and can be used for advertisement and discovery of any RFC 6763 compliant services.
In order to use the discovery module, embedders should only need to reference the public and common directories. The DNS-SD and mDNS layers should not be accessed. In order to encourage this behavior, DEPS rules have been defined.
The config directory provides parameters needed to configure the discovery module. Specifically:
The public directory provides wrappers around the DNS-SD protocol to simplify interacting with the internals of this module:
This implementation has been created to fulfill the role of discovery for the CastV2 protocol. For this reason, some details or optimizations called out in the RFC documents had cost or additional required complexity that outweighed the added benefit they provided. As such, the following have not been fully implemented:
Additionally, the following limitations should be noted: