> On Nov 7, 2019, at 2:07 AM, Scott, Barry <barry.sc...@forcepoint.com> wrote: > > On Thursday, 7 November 2019 05:29:34 GMT Sean DiZazzo wrote: >> If you need guaranteed delivery of the data, why not just use a TCP >> connection to the unix socket, instead of a UDP connection which inherently >> can lose data? In that case I don't think your patch would be needed. >> >> I didn't look at the source, so perhaps I missed something. > > UDS is not UDP.
Specifically, a UNIX datagram socket is a datagram-based IPC mechanism but unlike UDP it is not unreliable. You can still get EAGAIN or EMSGSIZE because buffers fill up and datagrams are too big, but if you put a datagram in, it comes out again. Barry's (embarrassingly long-standing) bug in Twisted's handling of UDS failures is here: https://twistedmatrix.com/trac/ticket/9504 <https://twistedmatrix.com/trac/ticket/9504> . You can't make "a TCP connection" to a UNIX-domain socket; TCP is a thing you do over networks and the UNIX address family is for local inter-process communication on a single host. >>> We use the UDS (Unix domain sockets) to talk to a master process. >>> Twisted has support for this. But you need a small patch to avoid data >>> lose. >>> >>> UDS does not lose data and is message based, not bytes based. We >>> use pickle to encode requests and responses. > > Barry > > > > _______________________________________________ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com > https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python