[Twisted-Python] Wiring a new reactor/Client into Twisted

Eugene Coetzee projects at reedflute.com
Tue Jul 27 16:35:20 EDT 2004


Itamar Shtull-Trauring wrote:

>On Mon, 2004-07-26 at 18:05, Eugene Coetzee wrote:
>
>  
>
>>I'm already using SerialPort from twisted.internet.serial but I want to 
>>wire it so that it works like the rest of a typical Twisted app with a 
>>factory container and reactor like event loop.
>>    
>>
>
>1. It doesn't require a factory because that wouldn't make sense in the
>context, just like twisted's udp support doesn't require a factory.
>
>  
>
Thanks for your feedback on this question.

According to the howto's 
(www.twistedmatrix.com/documents/current/howto/tutorial/intro) the 
factory is useful because it allows you to separate the database code 
from the protocol implementation. In other words you are adding an 
abstraction layer to separate concerns - something that I would also 
like to do. In the scenario of a Modbus implementation - there is also a 
Modbus implementation for ethernet i.e. Modbus RTU versus Modbus serial 
(www.modbus.org).

>2. It requires the reactor event loop to be running in order to work.
>
>  
>
I would rephrase what I'm trying to do as follows : I want an 
application with a single event loop and abstraction layer so that I can 
handle TCP/UDP/serial/you-name-it  type of protocols  transparently.  I 
also want a container into which I can plug multiple and different kind 
of protocols as described at  
www.twistedmatrix.com/documents/current/howto/tutorial/factory under the 
heading  "using a single factory for multiple protocols"

In order to achieve this I need to extend SerialProtocol from 
twisted.serial but it is clear that I need to do much more than just 
that. This is where I have difficulty in in extending the functionality 
of twisted.application.internet to build something which I can refer to 
as "SerialClient" (analogous to TCPClient,UDPClient)


regards,

Eugene

-- 
--
===============================================
Web                 -> www.reedflute.com
=============================================== 






More information about the Twisted-Python mailing list