[Twisted-Python] What is the minimum effort solution to make inetd-managed twisted-based application?

twisted-web at udmvt.ru twisted-web at udmvt.ru
Tue Jul 13 08:57:32 EDT 2010

What is the minimal effort method for building protocol instance (maybe out of
already implemented protocol factory) using a transport, that uses
parent-inherited sockets (or any other already connected sockets) ?
I haven't yet found any single-line solution for that.

For example, how to start an inetd-managed SMTP server (with STARTTLS support),
suppose, we have protocol (and factory) already implemented, but
how to construct the correct transport out of fd with the minimal effort?

Or how to implement ucspi-tcp's tcpclient client on top of twisted framework?

Right now I am looking at t.i.unix.Connector and t.i.unix.Port to understand
how do transports get constructed by them, but well, that is too complex for a single evening.
Should I really get into the details of implementing my own transport (or their constructors)
to do what I need? I'm sure there should be something, that I missed in the documentation
(or in the code?).

And by the way, I haven't found any socketpair(2) usage in the twisted framework (except for tests),
how can that be? Transport based on socketpair sockets will have the same
implementation, as I need. Is it true, that nobody in twisted community uses
anonymous preconnected sockets in real life?

PS: I need socket-based transport, that is, full-duplex, half-closeable, with support
of getting the remote endpoint address and with ability to start TLS on top of it
and without implementing every that feature myself :)

Thanks for a great framework!

с уважением,
Алексей Шпагин
системный администратор
цеха передачи данных
технического центра телекоммуникаций
ОАО "ВолгаТелеком" 
филиал в Удмуртской республике.

More information about the Twisted-Python mailing list