Ticket #5570 enhancement closed fixed
Support adding an established SOCK_STREAM connection to the reactor
|Reported by:||exarkun||Owned by:||therve|
(diff, github, buildbot, log)
Description (last modified by therve) (diff)
Certain multi-process models want to be able to move established connections (TCP, UNIX, whatever) between processes. There aren't any public APIs for this now, so we should add one.
#5248 added IReactorSocket.adoptStreamPort. We should also add IReactorSocket.addConnection. It would have a similar signature to adopStreamPort (but likely without the socketType argument, since it would always have to be SOCK_STREAM) , but treat the file descriptor as a SOCK_STREAM socket which is already connected to a peer. The reactor would do whatever necessary to start processing events from that socket, just as it would do for a socket it accepted internally from a port it was managing.
See also #4387.