Abstract-socket prevent from being truly native
sdumetz opened this issue · 5 comments
the abstract-socket dependency is compiled. It goes against this module being truly javascript-native.
Why does it matter? I use electron and module recompilation is quite a pain in numerous cases.
While i've seen abstract sockets before, I have no idea if a pure js + native core modules implementation would be possible?
No, native core does not support abstract sockets. Its currently in optional dependencies and it's still possible to use module if abstract-socket is not installed.
Usually system bus is exposed with unix socket and session bus - using abstract socket address
is anything going to be done on this issue?
No, unless abstract sockets are supported by core node ( it's relatively trivial change, Python for example have it in core networking ) but given that userland module works well and that is linux-only functionality it's very unlikely to happen. As a workaround we could include another dependency - socat
binary installed locally, and pipe to socat process which would forward stdin to linux abstract socket, but I think not worth effort.
actually there are some changes in libuv that might allow abstract sockets ( not expecting zero-terminated string as input ). I'll do some more research and reopen if find anything