Support adding an established SOCK_STREAM connection to the reactor
|Reported by:||exarkun||Owned by:||therve|
(github, patch, buildbot, log)
Description (last modified by therve)
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.
Change History (15)
comment:14 Changed 4 years ago by therve
- Branch changed from branches/reactor-adopt-connection-5570 to branches/reactor-adopt-connection-5570-2