Package twisted :: Package spread :: Module flavors :: Class Copyable

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

## Class Copyable

    Jellyable --+
                |
     Serializable --+
                    |
                   Copyable

Known Subclasses:
  `Cacheable`, `Signature`, `CopyableFailure`, `Request`

Subclass me to get copied each time you are returned from or passed to a remote method.

When I am returned from or passed to a remote method call, I will be converted into data via a set of callbacks (see my methods for more info). That data will then be serialized using Jelly, and sent to the peer.

The peer will then look up the type to represent this with; see `RemoteCopy` for details.

Method Summary
| `getStateFor(self, jellier)` (inherited from `Jellyable`)
| ``getStateToCopy`(self)` Gather state to send when I am serialized for a peer.
| ``getStateToCopyFor`(self, perspective)` Gather state to send when I am serialized for a particular perspective.
| ``getTypeToCopy`(self)` Determine what type tag to send for me.
| ``getTypeToCopyFor`(self, perspective)` Determine what type tag to send for me.
| ``jellyFor`(self, jellier)` Assemble type tag and state to copy for this broker.
| ``processUniqueID`(self)` Return an ID which uniquely represents this object for this process. (inherited from `Serializable`)

Method Details

### getStateToCopy(self)

Gather state to send when I am serialized for a peer.

I will default to returning self.__dict__. Override this to customize this behavior.

### getStateToCopyFor(self, perspective)

Gather state to send when I am serialized for a particular perspective.

I will default to calling `getStateToCopy`. Override this to customize this behavior.

### getTypeToCopy(self)

Determine what type tag to send for me.

By default, send the string representation of my class (package.module.Class); normally this is adequate, but you may override this to change it.

### getTypeToCopyFor(self, perspective)

Determine what type tag to send for me.

By default, defer to self.`getTypeToCopy`() normally this is adequate, but you may override this to change it.

### jellyFor(self, jellier)

Assemble type tag and state to copy for this broker.

This will call `getTypeToCopyFor` and `getStateToCopy`, and return an appropriate s-expression to represent me.

Generated by Epydoc 1.1 on Sat Feb 15 21:18:12 2003 | http://epydoc.sf.net