Golang binding for Avahi announce
Alexander Pevzner
pzz at apevzner.com
Wed Nov 20 08:12:52 UTC 2024
Hi,
My name is Alexander Pevzner, and I am the author of two widely
distributed projects: sane-airscan (a "driverless" driver for SANE
scanners) and ipp-usb (a daemon for IPP-over-USB printer support). Both
projects utilize Avahi extensively.
I am excited to announce the release of a new Golang binding for Avahi:
https://github.com/alexpevzner/go-avahi
This binding aims to closely mirror the original C API, with a few
exceptions:
- It reports events via Go channels instead of callbacks, which is more
idiomatic in Golang.
- It follows Go naming conventions (e.g., NewAddressResolver vs.
avahi_address_resolver_new).
- It provides an automatic workaround for Avahi issues related to
localhost and loopback address handling.
- It implies the AVAHI_CLIENT_NO_FAIL mode.
Additionally, I have made an effort to create comprehensive
documentation for the Avahi API:
https://pkg.go.dev/github.com/alexpevzner/go-avahi
Since the Go API implemented in this package closely resembles the
original C API, this documentation may also be useful for users of other
programming languages.
--
Wishes, Alexander Pevzner (pzz at apevzner.com)
More information about the avahi
mailing list