[Twisted-Python] Is it just me ....

Neil Blakey-Milner nbm at mithrandr.moria.org
Thu Jul 10 08:24:02 EDT 2003

On Thu 2003-07-10 (12:00), Moshe Zadka wrote:
> Well, if you have two services that rely on each other, a nice way to
> deal with that is MultiService. Have a convenicence function which
> returns a MultiService, all loaded up with both services, created
> from arguments to this function.

> Or, you might want to support an even more extreme method of hiding
> implementation details from users:


> Another thing you can do when you convert to a package [and you should,
> regardless!] is to supply tap plugins that would look like


> Other remarks:
> * startScheduler should be called from startService, not __init__, to
>   support persistence
> * similarily, all reactor.callLater() results should be saved from
>   an attribute of the SyndicationService, which is then .cancelled()
>   in stopService
> * 9119 is a hardcoded number. Probably should be given in an argument
>   to news service. Of course, the above get...Service() calls should
>   be modified to accept that argument, blah blah blah.
> * I'd prefer it if .listenTCP was not called from __init__, but instead,
>   an easy way to get the right factory was supplied:


> Rationale: easier support for non-common listening options [what if you
> want to only listen on, so that only you can read the news?
> what if you wanted to listen on several ports to defeat firewalls?]
> I hope that matches your expectations of how thoroughly we can pick
> on you :)

More, more!

Thanks for the critique - I'll try apply this as I'm able to and get
back to everyone once I have an updated version.  I'll also see about
codifying your suggestions and having a before-and-after type document
with real examples.

(Offer time-permittingly open to others if they critique or suggest
stuff that's generally considered good advice.)


Neil Blakey-Milner
nbm at mithrandr.moria.org

More information about the Twisted-Python mailing list