gitsync icon indicating copy to clipboard operation
gitsync copied to clipboard

refactor multicast group netio stuff to use mDNS/bonjour/AVAHI

Open raybejjani opened this issue 12 years ago • 0 comments

netio uses UDP multicast with gob encoded data. This is fine but it does mean that only other Go programs that have access to the same structs can read it. It would be more ideal if we met some standard where other tools can access the same data. Bonjour (mDNS in particular) is a good example of such a standard. In fact, the multicast address can also be queried by dig so some interop is ready out of the box. DNS is also useful because of SRV and TXT records that can be used to advertise the other functions a gitsync peer may be able to do (like transfer git blobs etc.). Bonjour also solves the service discovery problem which is the first step in gitsync working. Ideally, we'd be able to build out a self contained mDNS library that supports bonjour and release that separately. Dave Cheney has some early work that inspired the implementation in gitsync heavily at https://github.com/davecheney/mdns/ It's might be better to make pull requests to Dave instead.

raybejjani avatar Sep 28 '13 23:09 raybejjani