scylladb / seastar

High performance server-side application framework
http://seastar.io
Apache License 2.0
8.17k stars 1.53k forks source link

seastar::connect() doesn't work with Unix domain sockets #774

Open dekimir opened 4 years ago

dekimir commented 4 years ago

When I use seastar::connect() with a socket address based on unix_domain_addr, the domain socket never receives any traffic. But when I use engine().net().connect(), it works fine.

We should either make seastar::connect() work for domain sockets or make it explicitly fail and document this exception.

/cc @ronen-fr

tchaikov commented 1 year ago

we have following caller-callee chain:

 `seastar::connect(socket_address)` -> 
    `reactor::connect(socket_address)` ->
        `network_stack::connect(socket_address, socket_address, transport)`

while engine().net() returns network_stack&.

so i believe seastar::connect() should be able to connect to a unix domain socket.