Go to the latest version of this document.

# ``twisted`.`spread`.`pb`.`Root``

class documentation

`class Root(Referenceable): (source)`

Known subclasses: `twisted.web.distrib.ResourcePublisher`

Implements interfaces: `twisted.spread.pb.IPBRoot`

View In Hierarchy

I provide a root object to `pb.Broker`s for a `pb.PBClientFactory` or `pb.PBServerFactory`.

When a factory produces a `pb.Broker`, it supplies that `pb.Broker` with an object named "root". That object is obtained by calling my rootObject method.

Method | `rootObject` | A factory is requesting to publish me as a root object.

Inherited from `Referenceable`:

Method | `jellyFor` | (internal)
Method | `remoteMessageReceived` | A remote message has been received. Dispatch it appropriately.
Class Variable | `perspective` | I am an object sent remotely as a direct reference.

Inherited from `Serializable` (via `Referenceable`):

Method | `processUniqueID` | Return an ID which uniquely represents this object for this process.

Inherited from `Jellyable` (via `Referenceable`, `Serializable`):

Method | `getStateFor` | Undocumented

def rootObject(self, broker): (source)
from `twisted.spread.pb.IPBRoot`

A factory is requesting to publish me as a root object.

When a factory is sending me as the root object, this method will be invoked to allow per-broker versions of an object. By default I return myself.