Ticket #5570 enhancement closed fixed
Support adding an established SOCK_STREAM connection to the reactor
| Reported by: | exarkun | Owned by: | therve |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | core | Keywords: | |
| Cc: | Branch: | branches/reactor-adopt-connection-5570-2 | |
| Author: | therve | Launchpad Bug: |
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.
Change History
Note: See
TracTickets for help on using
tickets.
