Package twisted :: Package internet :: Module app :: Class DependentMultiService

[show private | hide private]
[frames | no frames]

## Class DependentMultiService

    _AbstractServiceCollection --+
                                 |
          OriginalAccessor --+   |
                             |   |
                 Versioned --+   |
                             |   |
            ApplicationService --+
                                 |
                      MultiService --+
                                     |
                                    DependentMultiService

I am a MultiService that starts services in insert order, and stops them in the reverse order. The service starts and stops are chained, so be very careful about services that may fail to start or stop.

Method Summary
| `__init__(self, serviceName, serviceParent)`
| `__delattr__(self, k)` (inherited from `OriginalAccessor`)
| `__getattr__(self, k)` (inherited from `OriginalAccessor`)
| ``__getstate__`(self, dict)` Get state, adding a version number to it on its way out. (inherited from `Versioned`)
| `__setattr__(self, k, v)` (inherited from `OriginalAccessor`)
| `__setstate__(self, state)` (inherited from `Versioned`)
| ``addService`(self, service)` Add a Service to me. (inherited from `MultiService`)
| ``disownServiceParent`(self)` Have my parent disown me. (inherited from `ApplicationService`)
| `get_application(self)` (inherited from `ApplicationService`)
| ``getServiceNamed`(self, serviceName)` Retrieve the named service from this application. (inherited from `_AbstractServiceCollection`)
| ``reallyDel`(self, k)` *actually* del self.k without incurring side-effects. (inherited from `OriginalAccessor`)
| ``reallySet`(self, k, v)` *actually* set self.k to v without incurring side-effects. (inherited from `OriginalAccessor`)
| ``removeService`(self, service)` Remove a Service from me. (inherited from `MultiService`)
| `set_application(self, application)` (inherited from `ApplicationService`)
| `setApplication(self, application)` (inherited from `ApplicationService`)
| ``setServiceParent`(self, serviceParent)` Set my parent, which must be a service collection of some kind. (inherited from `ApplicationService`)
| ``startService`(self)` Start all of my Services.
| ``stopService`(self)` Stop all of my Services.
| `upgradeToVersion1(self)` (inherited from `ApplicationService`)
| ``versionUpgrade`(self)` (internal) Do a version upgrade. (inherited from `Versioned`)
| ``_cbAttachServiceNames`(self, result, services)` I massage the result of a DeferredList into something that's a bit easier to work with (see `stopService`'s __doc__). (inherited from `MultiService`)
| `_emergencyStopService(self, failure, service)`
| `_finishStartService(self, res)`
| `_finishStopService(self, res)`
| `_rollbackStartedServices(self, failure, service)`

Method Details

### startService(self)

Start all of my Services.

I return a Deferred that will callback (with no useful result) when all services are started. In the event of a failure, all of the successful services will be stopped (without chained behavior) and I will errback with the first unsuccessful service's failure.

### stopService(self)

Stop all of my Services.

I return a Deferred that will callback (with no useful result) when all services are stopped. In the event of a failure, the running services will be stopped (without chained behavior) and I will errback with the first unsuccessful service's failure.

Generated by Epydoc 1.1 on Thu May 8 13:18:25 2003 | http://epydoc.sf.net