uds_dist - Distribution over Unix domain sockets

uds_dist — Erlang distribution over Unix domain sockets

I’ve published uds_dist 1.0.0 to Hex

It’s a custom -proto_dist implementation backed by the :socket library for Unix Domain sockets. My use case is pretty narrow. I often want my services to support a local-only remote shell without TCP and without EPMD. On Linux, abstract namespace sockets are supported so there’s no filesystem entry to clean up.

It was modelled on lib/kernel/examples/erl_uds_dist from OTP, but with :socket instead of gen_tcp, and distribution protocol v6 only.

5 Likes

Why use socket directly instead of gen_udp?

The distribution protocol pretty much assumes a reliable ordered byte stream. Short of reinventing QUIC, I don’t think gen_udpis an appropriate transport in this case, even for the local case.

socketalso provides the abstract namespace support.

gen_tcp can also use the socket module as a backend, and supports abstract namespace sockets.

I’m just saying. Cheers for the release!

2 Likes

I meant gen_tcp. Sorry

1 Like