Package twisted :: Package internet :: Module app :: Class MultiService

[frames | no frames]

## Class MultiService

    _AbstractServiceCollection --+
                                 |
                  Accessor --+   |
                             |   |
                 Versioned --+   |
                             |   |
            ApplicationService --+
                                 |
                                MultiService

Known Subclasses:
  `DependentMultiService`

I am a collection of multiple services.

I am useful if you have a large number of services and need to categorize them, or you need to write a protocol that can access multiple services through one factory, such as a protocol that maps services to virtual hosts, like POP3.

Method Summary
| `__init__(self, serviceName, serviceParent)`
| ``_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__).
| ``addService`(self, service)` Add a Service to me.
| ``removeService`(self, service)` Remove a Service from me.
| ``startService`(self)` Start all of my Services.
| ``stopService`(self)` Stop all of my Services.
Inherited from _AbstractServiceCollection
| ``getServiceNamed`(self, serviceName)` Retrieve the named service from this application.
Inherited from ApplicationService
| ``disownServiceParent`(self)` Have my parent disown me.
| ``get_application`(self)`
| ``set_application`(self, application)`
| ``setApplication`(self, application)`
| ``setServiceParent`(self, serviceParent)` Set my parent, which must be a service collection of some kind.
| ``upgradeToVersion1`(self)`
Inherited from Accessor
| ``__delattr__`(self, k)`
| ``__getattr__`(self, k)`
| ``__setattr__`(self, k, v)`
| ``reallyDel`(self, k)` *actually* del self.k without incurring side-effects.
| ``reallySet`(self, k, v)` *actually* set self.k to v without incurring side-effects.
Inherited from Versioned
| ``__getstate__`(self, dict)` Get state, adding a version number to it on its way out.
| ``__setstate__`(self, state)`
| ``versionUpgrade`(self)` (internal) Do a version upgrade.

Class Variable Summary
Inherited from _AbstractServiceCollection
`tuple` | `__implements__` = `(<class twisted.internet.interfaces.ISe...`
Inherited from ApplicationService
`int` | `persistenceVersion` = 1
`NoneType` | `serviceName` = None
`NoneType` | `serviceParent` = None
`int` | `serviceRunning` = 0
`NoneType` | `serviceType` = None
Inherited from Versioned
`tuple` | `persistenceForgets` = `()`

Method Details

### _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__).

### addService(self, service)

Add a Service to me.

  Overrides:
    `twisted.internet.app._AbstractServiceCollection.addService`

### removeService(self, service)

Remove a Service from me.

  Overrides:
    `twisted.internet.app._AbstractServiceCollection.removeService`

### startService(self)

Start all of my Services.

  Overrides:
    `twisted.internet.app.ApplicationService.startService`

### stopService(self)

Stop all of my Services.

I return a Deferred that results in a dict that looks like {serviceObject: (successOrFailure, result)}, where successOrFailure is a boolean and result is the result of the Deferred returned by serviceObject.stopService.

  Overrides:
    `twisted.internet.app.ApplicationService.stopService`

Generated by Epydoc 2.0 on Sat May 15 20:08:57 2004 | http://epydoc.sf.net