Opened 16 years ago

Closed 13 years ago

Last modified 13 years ago

#719 enhancement closed fixed (fixed)

better pluggable reactor support for twistd

Reported by: itamarst Owned by:
Priority: highest Milestone: Core-2.5
Component: core Keywords:
Cc: Jean-Paul Calderone, itamarst Branch:
Author:

Description


Change History (10)

comment:1 Changed 16 years ago by itamarst

Currently I *think* adding new reactors just means adding entry to dict. If this
is sufficient we just need to document it (or maybe add tiny utility function
and  document that).

JP prefers to use .tml files for this, though.

comment:2 Changed 15 years ago by Jean-Paul Calderone

I'll do this with the new plugin system soon.

comment:3 Changed 13 years ago by Jean-Paul Calderone

Keywords: review added
Milestone: Twisted-2.5
Owner: Jean-Paul Calderone deleted

Ready for review in pluggable-reactors-719-2

Most of the functionality added in this branch is in twisted.application.reactors: a new interface, IReactorInstaller, is added for reactor plugins, along with a helper class, Reactor, and some utility functions.

A bug is fixed in twistd which prevented a custom reactor from being selected when any subcommand plugin imported the reactor module (thus implicitly installing it before twistd got a chance to do so).

Some zsh completion functionality is dropped because it:

  • Had no test coverage
  • Made fixing twistd harder
  • I don't use zsh

If someone cares it could most likely be re-added without too much difficulty, although tests will need to be added this time around.

I've added this to the 2.5 milestone since the Qt tickets already in the milestone depend on this. Also, the twistd regression is pretty serious and should be fixed for 2.5.

comment:4 Changed 13 years ago by Jean-Paul Calderone

Priority: normalhighest

comment:5 Changed 13 years ago by PenguinOfDoom

setUp/tearDown on PluggableReactorTestCase and TestRunner need docstrings.

comment:6 Changed 13 years ago by Jonathan Lange

Owner: set to Jonathan Lange
Status: newassigned

comment:7 Changed 13 years ago by Jonathan Lange

Keywords: review removed
Owner: changed from Jonathan Lange to Jean-Paul Calderone
Status: assignednew

Looks good. The tests in test_application are particularly apposite.

  • 80 cols in twisted/plugins/twisted_reactors
  • The trial manpage has options in alphabetic order. Please move --help-reactors to just before --help-reporters.

Please fix these then merge.

comment:8 Changed 13 years ago by Jean-Paul Calderone

Resolution: fixed
Status: newclosed

(In [18675]) Merge pluggable-reactors-719-2

Author: exarkun, itamar Reviewer: jml Fixes #719

Replace reactor dictionary with plugin-based definition mechanism. Update twistd and trial to use the plugin system to list and install reactors.

Also fix twistd so that alternate reactors can actually be selected when using subcommands.

comment:9 Changed 13 years ago by Jean-Paul Calderone

(In [18680]) Merge pluggable-reactors-719-2

Author: exarkun, itamar Reviewer: jml, itamar (not the parts he wrote) Fixes #719

Replace reactor dictionary with plugin-based definition mechanism. Update twistd and trial to use the plugin system to list and install reactors.

Also fix twistd so that alternate reactors can actually be selected when using subcommands.

comment:10 Changed 9 years ago by <automation>

Owner: Jean-Paul Calderone deleted
Note: See TracTickets for help on using tickets.