Inheritance diagram for IPython.kernel.controllerservice:
A Twisted Service for the IPython Controller.
The IPython Controller:
The design of the controller is somewhat abstract to allow flexibility in how the controller is presented to clients. This idea is that there is a basic ControllerService class that allows engines to connect to it. But, this basic class has no client interfaces. To expose client interfaces developers provide an adapter that makes the ControllerService look like something. For example, one client interface might support task farming and another might support interactive usage. The important thing is that by using interfaces and adapters, a single controller can be accessed from multiple interfaces. Furthermore, by adapting various client interfaces to various network protocols, each client interface can be exposed to multiple network protocols. See multiengine.py for an example of how to adapt the ControllerService to a client interface.
Bases: object
All Controller adapters should inherit from this class.
This class provides a wrapped version of the IControllerBase interface that can be used to easily create new custom controllers. Subclasses of this will provide a full implementation of IControllerBase.
This class doesn’t implement any client notification mechanism. That is up to subclasses.
Bases: object, twisted.application.service.Service
A basic Controller represented as a Twisted Service.
This class doesn’t implement any client notification mechanism. That is up to adapted subclasses.
Bases: IPython.kernel.controllerservice.IControllerCore
The basic controller interface.
Bases: zope.interface.Interface
Basic methods any controller must have.
This is basically the aspect of the controller relevant to the engines and does not assume anything about how the engines will be presented to a client.