apache / apache/celix

Discovery Zeroconf Portability

Open
#718 0 comments 0 reactions 0 assignees View on GitHub
component/remote-services kind/improvement
Dominant language
C
Stars
193
Forks
99
Avg merge
1m
Merged PRs (30d)
1

Description

# Intro

Currently, `discovery_zeroconf` only builds with Conan on Linux. Initially, it is targeted at Embedded Linux, and thus depends on the most lightweight feature-complete implementation of dns-sd, a.k.a mDNSResponder. Unfortunately, most (if not all) Linux distributions provide the same functionality with `avahi` rather than `mDNSResponder` and `mDNSResponder` does not build on macOS.

# Linux

Note that [avahi](https://avahi.org/doxygen/html/) provides the original Bonjour API as `avahi-compat-libdns_sd`, it should be possible to make `discovery_zeroconf` work with `avahi`. Though for tests to work, it may require additional efforts, see #618.

# macOS

Note that dns-sd has first class citizen support on macOS: check [this](https://developer.apple.com/documentation/dnssd/dns_service_discovery_c?language=objc) for the official documentation of the C API.
Though without a mac at hand, I'm fairly optimistic that `discovery_zeroconf` could be made to work on macOS.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.