Go to the latest version of this document.

# ``twisted`.`spread`.`pb`.`Serializable``

class documentation

`class Serializable(Jellyable): (source)`

Known subclasses: `twisted.spread.pb.Copyable`, `twisted.spread.pb.Referenceable`, `twisted.spread.pb.RemoteCache`, `twisted.spread.pb.RemoteReference`, `twisted.spread.pb.Viewable`

View In Hierarchy

An object that can be passed remotely.

I am a style of object which can be serialized by Perspective Broker. Objects which wish to be referenceable or copied remotely have to subclass Serializable. However, clients of Perspective Broker will probably not want to directly subclass Serializable; the Flavors of transferable objects are listed below.

What it means to be "Serializable" is that an object can be passed to or returned from a remote method. Certain basic types (dictionaries, lists, tuples, numbers, strings) are serializable by default; however, classes need to choose a specific serialization style: `Referenceable`, `Viewable`, `Copyable` or `Cacheable`.

You may also pass `[lists, dictionaries, tuples]` of `Serializable` instances to or return them from remote methods, as many levels deep as you like.

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

Inherited from `Jellyable`:

Method | `getStateFor` | Undocumented
Method | `jellyFor` | No summary

def processUniqueID(self): (source)
overridden in `twisted.spread.pb.ViewPoint`, `twisted.words.service.PBGroup`, `twisted.words.service.PBUser`

Return an ID which uniquely represents this object for this process.

By default, this uses the 'id' builtin, but can be overridden to indicate that two values are identity-equivalent (such as proxies for the same object).